Linux 工作排程的各类 at cron
一种是例行性 at atd服务
一种是突发性 cron crond服务
at (batch) 后台执行
atd 服务启动 /etc/init.d/atd restart
chkconfig atd on
chkconfig --list atd
可以利用/etc/at.allow /etc/at.deny来对at的使用进行限制 优先级较高
先查找的是/etc/at.allow 未写在此档案中用户不能使用at
然后查找/etc/at.deny 写在此档案用户不能使用,未写在都可以使用
如果上两个档案都没有,只有root可以使用at
atp 查询主机上有多少at工作排程
atrm 5 将第5个工作移除
at
-m 当工作完成 后,即使没有输出讯息,也用email通知使用者工作已完成
-l 相当于atq 列出当前系统上所有用户的at排程
-d 相当于atrm,可以取消一个在at排程中的工作
-v 可以较明显的时间格式出at排程中排程中任务栏表
-c 可以列出后面接的此工件实际指令内容
#at now + 5 minutes
at>/bin/mail root -s "test at job"
at><EOT> 输入ctrl+d这样显示
#at -c 4 列出第四项工作内容
#at 23:00 2011-12-31
at> /bin/sync
at> /bin/sync
at> /sbin/shutdown -h now
at> <EOT>
cron
/etc/cron.allow /etc/cron.deny 使用与at相同
-u 只有ROOT才能进行这个任务
-e 编辑crontab的工作内容,主要针对使用者的cron设计
-l 查阅crontab的工作内容
-r 移除所有crontab工作内容,
代表意义 分钟 小时 日期 月仹 周 指令
数字范围 0-59 0-23 1-31 1-12 0-7 指令
*代表任何时刻 0 12 * * * ls /root 每一天的12点整开始执行
,代表分隔时段0 3,6 * * * ls 不写是3点还是6点都执行
-代表一段时间范围内 20 8-12 * * * ls 8 9 10 12 12点的20分都执行
/n 代表数字,是第N个间隔 */5 * * * * ls 每五分钟执行一次,也可以写成0-59/5
每个crontab都只有一个档案存在,在/var/spool/cron里,指令下达最好用绝对路径
注意事项
资源分配不均的问题 比如同时进行多个耗费系统资源的命令时,注意将其分开,
取消不需要的输出 /dev/null
周与日不可同时并存
出现非自己设定的cron 注意系统安全了。。。
唤醒停机期间的任务
anacron 其实是一支程序并非一个程序,
/etc/anacrontab