语法介绍
使用权限 : root用户和crontab文件的所有者
crontab格式
说明 : crontab 是用来让使用者在固定时间或固定间隔执行程式之用,换句话说,也就是类似使用者的时程表。-u user 是指设定指定 user 的时程表,这个前提是你必须要有其权限(比如说是 root)才能够指定他人的时程表。如果不使用 -u user 的话,就是表示设定自己的时程表。
参数 :
-e [UserName]: 执行文字编辑器来设定时程表,内定的文字编辑器是 VI,如果你想用别的文字编辑器,则请先设定 VISUAL 环境变数来指定使用那个文
-r [UserName]: 删除目前的时程表
-l [UserName]: 列出目前的时程表
-v [UserName]:列出用户cron作业的状态 。
使用方法:
a b c d e program
其中 a 是表示分钟,b 表示小时,c 表示一个月份中的第几日,d 表示月份,e 表示一个星期中的第几天。program 表示要执行的程式。
当 a 为 * 时表示每分钟都要执行 program,b 为 * 时表示每小时都要执行程式,其余类推
当 a 为 a1-b2 时表示从第 a1 分钟到第 a2 分钟这段时间内要执行,b 为 b1-b2 时表示从第 b1 到第 b2 小时都要执行,其余类推
当 a 为 */n 时表示每 n 分钟个时间间隔执行一次,b 为 */n 表示每 n 小时个时间间隔执行一次,其余类推
当 a 为 a1, a2, a3,... 时表示第 a1, a2, a3,... 分钟要执行,b 为 b1, b2, b3,... 时表示第 b1, b2, b3...个小时要执行,其余类推
使用者也可以将所有的设定先存放在档案 file 中,用 crontab file 的方式来设定时程表。
例子:
0 */2 * * * /usr/local/test.sh
该命令行表示每两小时执行一次test.sh脚本
0 9 * * 1 /usr/local/test.sh
该命令表示每周一9点执行该程序,如果将0 改为* 则在9点至十点的每一分钟都会执行该程序,(0-6)表示周几 ,0表示周日,6表示周六。
如果设置好自动执行想查看程序是否执行可查看log日志:
tail -f /var/log/cron
列出crontab文件内容
为了列出crontab文件,可以用: $crontab -l
编辑crontab文件
如果希望添加、删除或编辑crontab文件中的条目,而EDITOR环境变量又设置为vi,那么就可以用vi来编辑crontab文件,相应的命令为:
$ crontab -e
可以像使用vi编辑其他任何文件那样修改crontab文件并退出。
删除crontab文件
为了删除crontab文件,可以用: $ crontab -r
恢复丢失的crontab文件
如果不小心误删了crontab文件,假设你在自己的$HOME目录下还有一个备份,那么可以将其拷贝到/var/spool/cron/<username>,其中<username >是用户名。如果由于权限问题无法完成拷贝,可以用: $ crontab <filename> 其中,<filename>是你在$HOME目录中副本的文件名。
参考来源:http://baike.baidu.com/view/1229061.htm
转载于:https://blog.51cto.com/strugglelinux/652305