crontab学习笔记

1. 格式

每隔两分钟执行
*/2 * * * * cmd
每小时的奇数分钟执行,(0不执行,1执行)
1-59/2 * * * * cmd
每天18:00至23:00间每隔30分钟
0,30 18-23 * * * cmd
0-59/30 18-23 * * * cmd
A,B,C A或B或C
A-B A到B之间
*/A 每A分钟(小时等)
crontab -l [-u 用户]
-e
-u 指定用户

2.配置文件

crontab 文件名, 文件命中计划全部覆盖
/etc/cron.d目录中添加任务文件(系统级计划),写计划时指定用户,作为用户计划任务的补充,crontab -l -u时看不到。
e.g.添加文件内容:

*/1 * * * * root echo "File in /etc/cron.d/crontest*********"

crontab -e的效果和vi /var/spool/cron/tabs/用户相同

3 日志信息

(不同linux相应日志文件名可能有些出入,本系统为suse)
/var/mail/用户 文件记录了日志信息,其中Subject后为执行的命令
/var/log/messages 也是日志信息,比较简明,一般查看此处
其内容形式:

Aug 13 20:17:01 prehost /usr/sbin/cron[7579]: (xdself) CMD ( echo xd && date)

4 技巧及常见错误

实现每半分钟执行一次,用sleep实现

*/1 * * * * cmd      
*/1 * * * * sleep 30s;cmd 

e1: .bash_profile中环境变量 echo $var 空
e2: 第三和第五个域间执行的是“或”操作
实现每周一执行:
59 1 1-7 4 1 cmd (错误)
命令中注意%前加\转义

59 1 1-7 4 * test `date +\%w` -eq 1 && cmd (正确)

e3: 分钟的设置。
两小时运行一次
* */2 * * * cmd (错误)
0 */2 * * * cmd (正确)

 

posted @ 2015-08-18 23:34  xdargs  阅读(197)  评论(0)    收藏  举报