1.系统延时任务
- at命令可以指定某一任务在将来特定的时间执行。
- 在执行at命令时必须指定任务应运行的时间。
- at命令适用于需要等待很长时间后才能完成的工作,提前设定好命令执行的时间,任务将会在特定时间自动执行。
at 时间点 <回车> /设定任务时间/ at 09:35 或 at now+1min
at> 任务动作
at> (Ctrl+d—结束) /Ctrl+d发起任务/
at -c /查看任务内容/
at -l /查看任务列表/
at -r /取消任务执行/
注意:当任务有输出时,输出将会以邮件形式发送给at任务的发起者
mail -u root /查看超级用户邮件/
2 /查看第二封邮件*/
q /退出/
> /var/spool/mail/root /**清空超级用户邮件/
2.at任务的黑白名单
/etc/at.deny:系统中默认存在,不需要创建,在此文件中出现的用户不能执行at命令
/etc/at.allow:系统默认不存在,需要自己建立,只有此文件中出现的普通用户可执行at命令(超级用户root不受deny、allow的限制)但当白名单存在时,黑名单失效。
3.系统定时任务
(1)crontab 时间表示方式
最小单位是min(分钟)
* * * * *
[min] [hour] [day of mouth] [mouth] [day of week]
分钟 小时 天 月 周
表示方式 | 注释 |
---|---|
* * * * * | 每分钟 |
*/2 * * * * | 每两分钟 |
*/2 09-17 * * * | 早上9点到晚上5点每两分钟 |
*/2 */2 * * * | 每隔2小时每两分钟 |
*/2 09-17 3,5 1 5 | 每月3号、5号、周五的早上9点到晚上5点每两分钟 |
*/2 09-17 * * 5 | 每周五早上9点到晚上5点每两分钟 |
(2)系统控制 crontab 的服务
crond.service 当程序开启时定时任务生效
system start crond.service
system status crond.service
system stop crond.service
(3)crontab 命令
crontab -l -u root 显示root用户的crontab命令内容
crontab -e -u root 进入文件中手动删除crontab任务内容
crontab -r -u root 自动删除所有的crontab命令
(4)文件方式设定定时任务
cd /etc/cron.d
vim /etc/cron.d/file
* * * * * root rm -rf /mnt/*
【* * * * * username action】
(5)crontab黑白名单
/etc/cron.deny 系统中默认存在,此文件中出现的用户不能执行crontab命令
/etc/cron.allow 系统中默认不存在,需要自己建立,文件中出现的用户可执行crontab命令,文件中未出现的用户不能执行crontab命令(超级用户root不受限制),且当白名单/etc/cron.allow存在时,黑名单/etc/cron.deny失效
4.系统中临时文件的管理方式
cd /usr/lib/tmpfiles.d/
vim zxy.conf
<d /mnt/zxyos 777 root root 1min>
watch -n 1 "ls -Rl /mnt/"
监控 /mnt 目录下内容的动态
systemd-tmpfiles --creat /usr/lib/tmpfiles.d/zxy.conf
touch /mnt/zxyos/file0
systemd-tmpfiles --clean /usr/lib/tmpfiles.d/zxy.conf
注意:有时会出现执行 systemd-tmpfiles --clean /usr/lib/tmpfiles.d/zxy.conf 命令,但 /mnt/zxyos 目录下的临时文件不被清空的情况,此状况出现的原因是:命令执行间隔时间不到1min,故 /mnt/zxyos 目录下的临时文件不能被清除