cron计划任务

2016-08-15

cron 计划任务

  大部分系统管理工作都是通过定期自动执行某一个脚本来完成的,这可以用 Linux 的 cron 功能来实现。

  命令 crontab

  Linux 任务计划功能的操作都是通过 crontab 这个命令完成的。其中常用的选项有:

   -u:指定某个用户,不加 -u 选项则为当前用户

   -e:制定计划任务

   -l:列出计划任务

   -r:删除计划任务

  下面建立一个计划任务:

[root@localhost ~]# crontab -e

no crontab for root - using an empty one



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

  使用 crontab -e 来进行编写任务计划,实际上是使用 VIM 工具打开了 crontab 的配置文件,在其中写入的 ‘01 10 05 06 3 echo "ok">/root/cron.log ’中每个字段的数字从左到右一次表示:分、时、日、月、周,命令行。这个例子的含义是:在 6 月 5 日(这一天必须是星期 3)的 10 点 01 分执行命令 echo "ok">/root/cron.log 。

  crontab -e 实际上是打开了“/var/spool/cron/username”(root 用户打开的是 /var/spool/cron/root)这个文件。使用的是 VIM 编辑器,所以保存的话就是在命令模式下输入 :wq 即可。但是,不能直接去编辑那个文件,可能会出错,一定要使用 crontab -e 来编辑。

  查看已经设定的计划任务使用 crontab -l 命令:

[root@localhost ~]# crontab -l

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

  删除计划任务要用 crontab -r

[root@localhost ~]# crontab -r

[root@localhost ~]# crontab -l

no crontab for root

  例子:

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

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

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

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

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

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

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

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

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

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

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

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

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

[root@localhost ~]# service crond status

crond (pid  1414) 正在运行...


        停止和启动:



[root@localhost ~]# service crond stop

停止 crond:                                               [确定]

[root@localhost ~]# service crond status

crond 已停

[root@localhost ~]# service crond start

正在启动 crond:                                           [确定]

标题:cron计划任务
作者:散宜生
地址:https://17kblog.com/articles/2016/08/15/1471271142345.html