linux的计划任务:
linux制作计划任务有三个命令:at crontab anacron
1.at
at是执行一次的计划任务,一旦执行了这个任务就会消失
#at now+2 minutes 回车
>输入要执行的命令
>ctrl+d 结束输入
#at 16:00 dec 17 回车 ---在12月17号的16:00执行的命令
>输入要执行的命令
>ctrl+d 结束输入
#at 17:00 ----在今天的17点执行的命令
#atq ---------查看系统里的at计划任务
#atrm -------删除计划任务,后面加的是计划任务的工作号
任务保存在/var/spool/at 目录下
/etc/at.allow 可以创建该用户,先检查at.allow文件而后才是at.deny文件
/etc/at.deny 直接在文件里添加禁用用户的用户名
at的控制文件,限制登陆用户对at的使用,默认超级用户可以使用
2.cron服务
cron的优点就是能够周期性的执行某个命令
cron的后台进程是crond crond也是system V的服务
#crontab -e 编辑当前用户的cron表
#crontab -l 查看当前用户的cron表
#crontab -r 删除当前用户的cron进程
#crontab -u 用户名 <-e><-l><-r> 以某个用户的身份来控制cron表
任务计划的文件保存在
/var/spool/cron目录下
crontab -e
出现一个编辑文本
* * * * * 命令
分钟(0-59) 小时(0-23) 月的几号(1-31) 几月(1-12) 星期几(0-6)
如果是每两分钟发送一次
*/2 * * * * 命令
*/1 * * * * 命令 每分钟执行一次
#vi /etc/crontab
#run-parts /etc/cron.hourly
执行目录/etc/cron.hourly/之下的所有脚本/程序.
crond服务的控制
类似at控制,控制文件在/etc/cron.deny
3. anacrontab
就是系统计划任务的扩展文件:在一个指定时间间隔错过后自动执行任务
anacrontab的格式是:
period delay job-identifier command
period -----命令执行的频率(天数)
delay ------延迟时间(分钟)
job-identifier -----任务的描述,用在anacron的消息中,并作为实践戳文字的名称 只能包括非空白的字符(斜线除外)
command ----要执行的命令
vi /etc/anacrontab
1 65 cron.daily run-parts /etc/cron.daily
7 70 cron.weekly run-parts /etc/cron.weekly
30 75 cron.monthly run-parts /etc/cron.monthly
没隔一天启动机器后,在开机65分钟后,检查是否启动了cron.daily是否被启动了,如果没有,执行run-parts /etc/cron.daily命令
注:anacrontab只是对cron服务的一个补充。只有在新建了cron计划任务后,才用anacrontab服务来补充这个cron服务来补充