系统延时任务(零时的)及定时任务(永久的)
1.系统延时任务(用户级的)
[root@localhost~]#at 11:00 ##设定任务执行时间
at> rm -fr /mnt/* ##任务动作
at> < EOT> << CTRL+D ##用ctrl+D发起任务
[root@localhost~]#at now+1min ##延时1分钟
at> rm -fr /mnt/*
at> < EOT>
at -l ##查看任务列表
at -c 任务号 ##查看任务内容
at -r 任务号 ##取消任务执行
注意:
当任务有输出时,输出会以邮件的形式发送给at任务的发起者
mail -u root ##查看超级用户邮件
1 ##查看第一封邮件
q ##退出
>/var/spool/mail/root ##清空邮件
2.at任务的黑白名单
vim /etc/at.deny ##系统中默认存在,在此文件中出现的用户不能执行at
vim /etc/at.allow ##系统中默认不存在,当文件存在,普通用户不能执行at,只有在名单中的用户可以,并且/etc/at.deny失效
白名单只要建立(黑名单失效)系统中的普通用户将都不能使用at命令
3.系统定时任务
1)crontab 时间表示方式
* | * | * | * | * |
---|---|---|---|---|
分 | 时 | 天 | 月 | 周 |
* * * * * ##每分钟
*/2 * * * * ##每两分钟
*/2 09-17 * * * #早9晚5,每两分种
*/2 */2 * * * ##每两小时,每两分钟
*/2 09-17 3,5 1 5 ##分:每两分钟;时:早9晚5;日:3号和5号;月:1月;周:每周五
*/2 09-17 * * 5 ##每周周五早9晚5,每两分钟
2)系统控制crontab的服务
crond.service ##当程序开启时定时任务生效
systemctl start crond.service ##开启定时服务
3)crontab
crontab -u root -e ##编辑定时任务
crontab -u root -l ##查看root用户下的定时任务列表
crontab -u root -r ##取消定时任务
4)文件方式设定定时任务
system status crond.service ##查看crond服务是否开启
vim /etc/cron.d/file ##写入定时任务
* * * * * | username | action |
---|---|---|
时间 | 用户名 | 命令 |
* * * * * | root | rm -fr /mnt/* |
5)crontab的黑白名单
/etc/cron.deny ##系统默认存在,在此文件中出现的用户不能执行crontab
/etc/cron.allow ##白名单,系统中默认不存在,当文件出现,普通用户不能执行crontanb
注意:白名单系统中默认不存在,当文件出现,普通用户不能执行crontab,只有在名单中的用户可以,并且/etc/at.deny失效,这两个名单都不会影响/etc/cron.d/目录中定时任务的发起及执行
4.系统中零时文件的管理方式
cd /usr/lib/tmpfiles.d/
vim westos.conf
写入:
d /mnt/westos 777 root root 8s
systemd-tmpfiles --create /usr/lib/tmpfiles.d/*.conf
systemd-tmpfiles --clean /user/lib/tmpfiles.d/*.conf ##系统删除零时存储文件,如内存中的缓存清除