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 的个人博客,谢谢关注!