Linux系统中延时任务和定时任务的方法剖析(at、crontab、临时文件)
程序员文章站
2022-05-13 18:58:52
...
1.系统延时任务
是临时的,采用命令at
at now+1min
at> rm -rf /mnt/*
at> <EOT> ##键入延时任务后,ctrl+d执行,(注意:<EOF>是ctrl+d执行时自动生成的)
at -l ##查看任务列表
at -c 任务编号 ##查看任务内容
at -r 任务编号 ##取消任务执行
注意:当我们设定的任务有输出时,会以邮件的形式发送给配置延时任务的发起者
查看邮件的方法:
mail -u root ##查看超级用户的邮件
1 ##查看第一封邮件
q ##退出
2.可以执行at延时任务的黑白名单
配置文件:
vim /etc/at.deny ##黑名单
vim /etc/at.allow ##白名单
系统中默认存在黑名单,不存在白名单。黑名单之内的不可用,其他用户可用;白名单内的可用,名单之外不可用。
由此可见,白名单比黑名单更加安全,并且白名单存在时黑名单失效。
3.系统的定时任务
定时任务是永久的,命令crontab
1)crontab中时间的表示方式
* * * * *
#分 #时 #天 #月 #周
##例如:
* * * * * ##每分钟
*/2 * * * * ##每两分钟
*/2 09-17 * * * ##早上9点到下午17点1每两分钟
*/2 */2 * * * ##每隔2小时每两分钟
*/2 09-17 3,5 1 5 ##1月的3号和5号,并且每周5,早上9点到下午17点,每隔2分钟
*/2 09-17 * * 5 ##每周周五早9晚5
/ #每隔多久
, #几和几
- #从到什么到什么
2)系统控制crontab的服务
systemctl start crond.service ##服务开启,定时任务即生效
3)定时任务管理命令
crontab -u root -e ##配置定时任务
crontab -u root -l ##查看root用户下的定时任务列表
crontab -u root -r ##取消定时任务
4)文件方式设定定时任务
配置文件:
vim /etc/cron.d/file
* * * * * uesrname action
#时间 #用户名 #任务
#例如:
*/2 * * * * root rm -rf /mnt/*
5)crontab定时任务的黑白名单
配置文件:
/etc/cron.deny ##黑名单:系统中默认存在,在此文件中出现的用户不能执行crontab
/etc/cron.allow ##白名单:默认不存在,建立后黑名单失效,名单内可以执行crontab,名单之外不可执行
注意:白名单比黑名单更加安全,白名单建立后黑名单失效,黑白名单都不会影响/etc/cron.d/目录中定时任务的发起及执行
4.系统中临时文件的管理方式
cd /usr/lib/tmpfiles.d/
vim westos.conf
##写入:
d /mnt/westos 777 root root 8s ##配置westos中的文件在建立8s后才能被清除
systemd-tmpfiles --create /lib/tmpfiles.d/westos.conf ##执行临时文件配置
systemd-tmpfiles --clean /lib/tmpfiles.d/westos.conf ##清楚临时文件配置
上一篇: Git(标签、分支和合并)1