计划任务
在管理linux系统的时候我们,通常要使用计划任务,计划在某个时候让系统最某些任务。计划任务又可分为两种:1. 一次性 2. 周期性。
一次性任务:at batch
at
at TIME 然后直接回车,即可输入要执行的命令每输完一个命令按回车键,输入下一个命令,按ctrl+D结束输入。执行的结果将会以邮件的方式发送给发起该命令的用户。at的时间格式有很多比如HH:MM,MMDDYY,MM/DD/YY,now+1min/hour/day
[option]
-l 查看等待的计划 相当于atq
-d 删除at任务 相当于atrm
batch
不需要指定时间,在系统空闲的时候自动执行。其他option和at相同。
周期性任务:cron anacron
cron进程名字crond 重启服务service crond start。cron通过crontab保存用户定义的计划任务。
cron分为两类:
1. 系统crontab 保存在/etc/crontab
2. 用户crontab 保存在/var/spool/cron/USERNAME (USERNAME 是发去该cron的用户名)
用户crontab有以下几部分组成:
MIN HOUR DAY MONTH WEEK COMMAND
MIN 的取值范围有0~59
HOUR 范围0~23
DAY 1~31
WEEK (0和7都表示周日)
MONTH 1~12
* 表示时间域上所有的有效值
- 如3-5 表示连续时间3,4,5
, 离散时间取值
/ 对应时间域上每多次 如*/5表示每隔5分钟
编辑 crontab -e 自动编辑本用户的crontab的内容,并自动检查语法错误
-l 列出任务
-r 移除所有周期任务
-u 以别人的身份
eg:crontab -u redhat -r
cron在执行命令时必须是开机下,但如果使我们的个人电脑是不可能一直开机。这时我们就需要使用anacron。
anacron指定开机后执行在关机时cron应该执行的命令。同样对与系统配置文件在/etc/anacrontab,其中的的几部分:
天数 启动延迟 标示 run-parts /etc/cron.*
在/etc/cron.weekly/中的内容开始的数字越小,执行次序越高。
对于cron存在访问控制列表,分别是:/etc/cron.allow和/etc/cron.deny。一般只存在一个文件,如果两个都不存在只有管理员才能定义计划,若两个问价都存在则接受.allow