Linux系统自带的定时器
- at,只调度1次,atd进程,chkconfig atd on
- cron,周期性调度,crond进程
- anacron,唤醒执行任务
主要可以做一些后台定时的工作,当然也可以用来做监控进程,缺点是最少间隔是1mins,如果需要更少的定时器,则需要自己编写进程来完成了。
at服务
- /var/spool/at目录
- /etc/at.allow at.deny
at [-lmdvc] TIME[]
-l atq,查询调度
-m email通知用户
-d 取消调度,atrm
-v 列出任务列表
atq
atrm
batch,格式与at相同,在CPU使用率<0.8时生效
crontab
- /etc/crontab
- /etc/cron.alow /etc/cron.deny
- /var/spool/cron
- /var/log/cron
crontab -u username -l|-e|-r
-u:只有root才能执行该命令,帮其他用户建立周期任务
-e:编辑
-l:查阅
-r:删除所有调度
时间格式:
0-59分钟 0-23小时 1-31日期 1-12月份 0-7周 命令
0 12 * * * root /opt/xx/zz >/dev/null 2>&1
特殊字符:
*:任意
,: 分割时段
-: 时间范围
/N: 每间隔N单位
- crontab -e针对用户的cron设计的
- 系统的定时任务,需要编辑/etc/crontab
- 注意cron定时器,最低的时间是1分钟1次
anacron
-/etc/anacrontab
acacron -sfn job
-s:开始执行各项job,根据时间记录文件判断是否进行
-f:强制进行,不去判断时间
-n:立刻进行未进行的任务
-u:仅更新时间戳,不进行任何工作
job,有/etc/anacrontab定义
非24小时开机的时候,需要用到这个,它会去检测关机时段的定时任务,没有执行的crontab任务,在开机后执行一遍