您的位置:首页 > 运维架构 > Linux

Ubuntu 下计划任务使用(crontab)

2015-06-01 17:21 537 查看
1. crontab 语法格式:

f1    f2    f3    f4    f5    program

其中 f1 是表示分钟,f2 表示小时,f3 表示一个月份中的第几日,f4 表示月份,f5 表示一个星期中的第几天。program 表示要执行的程序。

当 f1 为 * 时表示每分钟都要执行 program,f2 为 * 时表示每小时都要执行程序,其余类推 ;

当 f1 为 a-b 时表示从第 a 分钟到第 b 分钟这段时间内要执行,f2 为 a-b 时表示从第 a 到第 b 小时都要执行,其余类推 ;

当 f1 为 */n 时表示每 n 分钟个时间间隔执行一次,f2 为 */n 表示每 n 小时个时间间隔执行一次,其余类推 ;

当 f1 为 a, b, c,... 时表示第 a, b, c,... 分钟要执行,f2 为 a, b, c,... 时表示第 a, b, c...个小时要执行,其余类推 ;

使用者也可以将所有的设定先存放在档案 file 中,用 crontab file 的方式来设定计划任务。

2. 举例说明:

例1:

*        *    *    *    *                  # 每隔一分钟执行一次任务
0        *    *    *    *                  # 每小时的0分执行一次任务,比如6:00,10:00
6,10     *    2    *    *                  # 每个月2号,每小时的6分和10分执行一次任务
*/3,*/5  *    *    *    *                  # 每隔3分钟或5分钟执行一次任务,比如10:03,10:05,10:06
以上省略了命令部分 program。

例2:

0    7         *    *    *    /bin/ls                                            #每天早上7点执行一次 /bin/ls
0    6-12/3    *    12   *    /usr/bin/backup                                    #在 12 月内, 每天的早上 6 点到 12 点中,每隔3个小时执行一次 /usr/bin/backup
0    17        *    *    1-5  mail -s "hi" alex@domain.name < /tmp/maildata      #周一到周五每天下午 5:00 寄一封信给 alex@domain.name
20   0-23/2    *    *    *    echo "haha" >> /tmp/haha.txt                       #每月每天的午夜 0 点 20 分, 2 点 20 分, 4 点 20 分....向 /tmp/haha.txt 文件中写入 haha


3. 配置方法:

        Ubuntu下配置计划任务有两种方法(目前我只知道),一是直接在 /var/spool/cron/crontabs/目录下新建一个用户文件,在该文件中配置计划任务;二是直接使用 crontab -e 命令编辑当前用户的计划任务。

        以 root 用户为例,两种方法设置的计划任务都是 /var/spool/cron/crontabs/root 文件,格式也一样,区别就是直接编辑文件后,需要调用 crontab /var/spool/cron/crontabs/root 才能使配置生效,而使用 crontab -e 编辑后,使用 Crtl + X 保存退出后,直接生效。可用 crontab -l 查看计划任务。

参考:

http://www.cnblogs.com/daxian2012/articles/2589894.html

http://www.blogjava.net/parable-myth/archive/2013/02/22/395555.html

博主所有文章已转自私人博客 Joe 的个人博客,谢谢关注!
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  linux ubuntu crontab