首页 > 代码库 > Linux系统的任务计划

Linux系统的任务计划

Linux系统的计划任务

Linux系统运维工程师大部分管理工作都是通过定期自动执行某一脚本来完成的。

Cron功能很重要,牢记!!!

计划功能Crontab:

  • -u:(user)表示指定某个用户,不加-u则为当前用户

  • -e:表示指定计划任务

  • -l:(list)表示列出计划任务

  • -r:(remove)表示删除计划任务

#crontab -e

01 10 05 06 3 echo "ok" > /root/cron.log

命令解释:编写一个任务计划,实际上使用vim打开crontab配置文件

01 10 05 06 3 依次为“分 时 日 月 周 命令行”

如上表示为6月5日(必须是周三)10点01分执行 echo "ok" > /root/cron.log

crontab -e 实际打开了/var/spool/cron/username 文件

如果用户是root 则打开了/var/spool/cron/root

★注:千万不能直接用vim去编辑,会出错,一定要用crontab -e去编辑


查看已经设定的任务计划

#crontab -l

删除已经设定的任务计划

#crontab -r


Crontab 练习题

  1. 每天凌晨1点20分清除/var/log/slow.log这个文件

  2. 每周日3点执行 “/bin/sh /usr/local/sbin/backup.sh”

  3. 每月14号4点10分执行 “/bin/sh /usr/local/sbin/backup_month.sh”

  4. 每隔8小时执行 “ntpdate time.windows.com”

  5. 每天的1点,12点,18点执行 “/bin/sh /usr/local/sbin/test.sh”

  6. 每天的9点到18点执行 “/bin/sh /usr/local/sbin/test2.sh”

习题答案:

1.  20 1 * * *  echo "" >/var/log/slow.log

2.  0 3 * * 0  /bin/sh /usr/local/sbin/backup.sh

3.  10 4 14 * *  /bin/sh /usr/local/sbin/backup_month.sh

4.  0 */8 * * *  ntpdate time.windows.com

5.  0 1,12,18 * * *  /bin/sh /usr/local/sbin/test.sh

6.  0 9-18 * * *  /bin/sh /usr/local/sbin/test2.sh


每隔8小时,就是用全部小时(0-23)去除以8,仔细想一下结果,其实算出来应该是0,8,16三个数。

当遇到多个数(分钟、小时、月、周)例如第5题,则需要用逗号隔开。

而时间段是可以用 n-m 的方式表示的,比如第六题中的(9-18)。

等设置好了所有的计划任务后需要查看一下crond服务是否启动:

#service crond status


如果是停止状态,则需要启动它:

#service crond start



本文出自 “老七Linux运维管理” 博客,请务必保留此出处http://asd9577.blog.51cto.com/4291946/1930304

Linux系统的任务计划