大家熟知的CT命令,用于周期性的执行任务。
下面是mac下执行man crontab命令的部分截图,表明了指令的基本用法。
man crontab
- -u
user,指定该user的定时任务,也就是你要有该user的权限。不指定的话,表示当前用户。 - -e
crontab -e//编辑任务文件,内定的编辑器是VI - -l
crontab -l//显示已有的任务列表 - -r
crontab -r//删除该用户的任务列表
[格式](f1 f2 f3 f4 f5 program)
f1:分钟,0-59//*表示任何时候,在这里就是每分钟
f2:小时,1-23//a-b表示a到b,这里表示第a到第b小时
f3:日期,1-31//a,b,c表示第a,b,c个单位执行,这里表示第a,b,c天
f4:月份,1-12//*/n表示间隔n,这里表示每n个月
f5:星期,0-6//注意,上面的命令都是对于f1-f5都是通用的
[例子]
*/3 * * * *//每三分钟执行一次
10 20 * * 1//每周一的20:10执行
30 8,9 1-5 * *//每月的1-5号8:30和9:30执行
3 8-20/3 * * *//8:03,11:03,14:03,17:03,20:03 执行
当程序执行完后,系统会寄一封邮件显示执行内容,如果不想显示这样的内容,可以在每一行空一格之后加上> /dev/null 2>&1。
> 代表重定向到哪里,/dev/null 代表空设备文件,1 表示stdout标准输出,默认值是1,2 表示stderr错误输出,& 表示等同于的意思,2>&1,表示2的输出重定向等同于1。
1>/dev/null 首先表示标准输出重定向到空设备文件,也就是不输出任何信息到终端,不显示任何信息。
2>&1 表示标准错误输出重定向等同于标准输出,因为之前标准输出已经重定向到了空设备文件,所以标准错误输出也重定向到空设备文件。
网友评论