crontab的启动和停止
cron服务是linux的内置服务,但它不会开机自动启动。可以用以下命令启动和停止服务:
/sbin/service crond start //启动
/sbin/service crond stop //停止
/sbin/service crond restart //重启
/sbin/service crond reload //重新加载配置
备注: 要把cron设为在开机的时候自动启动,在 /etc/rc.d/rc.local 脚本中加入/sbin/service crond start 即可。同样适用于at
crontab命令使用
[root@www ~]# crontab [-u username] [-l|-e|-r]
选项与参数:
-u :root帮其他使用者建立/移除 crontab 工作排程;
-e :编辑 crontab的内容
-l :查阅 crontab 的内容
-r :移除所有的 crontab 的内容。(若仅要移除一项,请用 -e 去编辑)
crontab语法说明
例子: 52 5 * * * /usr/local/src/analog-5.32-lh/analog
#分 时 日 月 周 |<==============指令串==============>|
表示日期的部分除了可以是数字外,还可以是一下特殊字符:
特殊字符 | 代表意义 |
*(星号) | 代表任何时刻。 如:52 12 * * * 表示任何月/周/日的5点52分 |
,(逗号) | 代表分隔时段。如: 52 5,22 * * *表示任何月/周/日的5点或22点52分 |
-(减号) | 代表一段时间范围内。如: 52 5-8 * * *表示任何月/周/日的5点到8点内每个小时的52分。 |
/n(斜线) | 每隔 n 单位。如:20 */2 * * * 表示任意月/周/日的2、4、6...24等点20分 |
所以示例中的意思是:在每月每周每日的5点52分运行/usr/local/src/analog-5.32-lh/analog文件。
备注: 周和日月不可同时并存。
Ex:(crontab -e进入编辑)
1、59 23 1 5 * mail kiki < /home/dmtsai/lover.txt
//5月1号23时59分将lover.txt的内容邮寄给kiki
2、*/5 * * * * /home/dmtsai/test.sh
// 每5分钟执行一次test.sh
at命令使用
[root@www ~]# at [-mldv] TIME
[root@www ~]# at -c 工作号码
选项与参数:
-m :当 at 的工作完成后,即使没有输出讯息,亦以 email 通知使用者该工作已完成。 -l :at -l 相当于atq,列出目前系统上面的所有该用户的at 排程;
-d :at -d 相当于atrm ,可以取消一个在 at 排程中的工作;
-v :可以使用较明显的时间格式栏出 at 排程中的任务栏表;
-c :可以列出后面接的该项工作的实际指令内容。
TIME的格式:
HH:MM YYYY-MM-DD
HH:MM[am|pm] + number [minutes|hours|days|weeks]
执行at会进入at shell环境,输入要完成的工作,然后按CTRL-D结束工作输入。
Ex:
1、 [root@www ~]# at 23:00 2009-03-17
at> /bin/sync
at> /bin/sync
at> /sbin/shutdown -h now
at>CTRL-D
//2009-03-17 23:00 执行关机
2、 at -c 2
备注:由于指令下达与PATH变量有关,同时与当时的工作目录也有关连 (如果有牵涉到档案的话),因此使用绝对路径来下达指令,会是比较一劳永逸的方法。
参考:http://blog.csdn.net/21aspnet/article/details/6798179