有时候为了能执行定时任务,在linux中会用到at和crontab
at [-mldv] TIME
at -c 工作号码
选项与参数:
-m :当 at 的工作完成后,即使没有输出信息,亦以 email 通知使用者该工作已完成。
-l :at -l 相当於 atq,列出目前系统上面的所有该使用者的 at 排程;
-d :at -d 相当於 atrm ,可以取消一个在 at 排程中的工作;
-v :可以使用较明显的时间格式列出 at 排程中的工作列表;
-c :可以列出后面接的该项工作的实际命令内容。
at仅运行一次
atd启动:/etc/init.d/atd restart
配置自启动 chkconfig atd on
crontab [-n username] [-ler]
-u:只有root才能运行这个任务,也就是帮其他用户建立、移除crontab工作排程
-e:编辑crontab的工作内容
-l:查阅crontab的工作内容
-r:移除crontab的工作内容
6个字段分别代表:分钟、小时、日期、月、周 mail(命令)
例:
0 12 * * * mail xwm -s "at 12:00" < /home/xxx.txt
0 3,5 * * * mail xwm -s "at 12:00" < /home/xxx.txt 三点六点
0 3-7 * * * mail xwm -s "at 12:00" < /home/xxx.txt 三点到六点
crontab产生的命令都存放在/var/spool/cron
那些用户可以用crontab命令,需要看/etc/cron.allow /etc/cron.deny
当然有一个系统的配置文件:/etc/crontab
这个crontab -e 是针对使用者的cron来设计的
/usr/bin/crontab
如果是系统的例行性任务
只要编辑/etc/crontab这个档案就可以了
重新启动crontab /etc/init.d/crond restart
命令用which命令看
crontab 写一些script 放到目录下
crontab 分为 指令形态和目录规划
如果不是执行档案而是执行程序
*/5 * * * * root /bin/mm /etc/mm/mm.cfg例行性任务
/var/log/cron查看日志
可以重定向到垃圾桶 /dev/null
服务操作
/sbin/service crond start/stop/restart/reload