系统延时任务及定时任务
一、系统延时任务设置
at 23:37 #根据具体时间设定。
at> rm -fr /mnt/* #设定任务执行时间
at> <EOT> #任务动作
<< CTRL +D #用ctrl+D发起任务
at -l #查看任务列表
at -c 任务号 #查看任务内容
at -r 任务号 #取消任务执行
watch -n 1 ls -R1 /mnt #监控/mnt目录 (R和数字1)
开启一个新窗口
at now+2min #延时2分钟
at> rm -fr /mnt/* #延迟2分钟删除/mnt目录下所有文件
at> <EOT>
注意:
当任务有输出时,输出会以邮件的型是发送给at任务的发起者
mail -u root #查看超级用户邮件
1 #查看第一封邮件
q #退出
/var/spool/mail/root #清空邮件
二、at任务黑白名单
/etc/at.deny #黑名单,系统中默认存在,此文件中出现的用户不能执行at
黑名单
在黑名单加上jwl
westos不在黑名单,任务完成
白名单
/etc/at.allow #白名单,系统中默认不存在,当文件出现,普通用户不能执行at
#只有在名单中的用户可以,并且/etc/at.deny失效
在白名单加上jwl
可以看到黑名单有jwl白名单也有jwl
但我们白名单优先
除root用户外,只有jwl可执行
三、系统定时任务
/var/spool/cron/username ##任务保存文件
1.crontab 时间表示方式
* * * * * ##每分钟
*/2 * * * * ##每两分钟
*/2 09-17 * * * ##早7-晚5每两分钟
*/2 */2 * * * ##每隔2小时每两分钟
*/2 09-17 3,5 1 5 #
*/2 09-17 * * 5 ##每周周五早9晚5
2.系统控制crontab的服务
crond.service ##当程序开启时定时任务生效
3.crontab
watch -nl ls -R /mnt/ #监控
crontab -u root -e #指定root用户创建任务
crontab -u root -l #查看任务
crontab -u root -r #取消任务
cd /var/spool/cron/ #存放存在任务的用户
ls
crontab -u root -e #创建任务
ls
cat root #列出任务内容
4.系统级别的cron(文件方式设定定时任务)
watch -n 1 ls -R1 /mnt #监控/mnt目录
vim /etc/cron.d/file(自己创建)
* * * * * 用户名 命令
* * * * * root rm -fr /mnt/* #每分删除/mnt目录下所有
vim jwl #配置每分钟创建6个文件
配置每分钟删除所有
5.crontab的黑白名单
/etc/cron.deny #系统中默认存在,在此文件中出现的用户不能执行crontab
/etc/cron.allow #系统中默认不存在,当文件出现,普通用户不能执行crontab
#只有在名单中的用户可以,并且/etc/at.deny失效
**这两个名单都不会影响/etc/cron.d/目录中定时任务的发起及执行**
在黑名单加上jwl
在白名单加上jwl
白名单优先,除root用户外,只有jwl可执行
四、系统中临时文件的管理方式
cd /usr/lib/tmpfiles.d/
vim westos.conf
d /mnt/westos 1777 root root 8s #8秒后才能清理临时文件
systemd-tmpfiles --create /usr/lib/tmpfiles.d/*(编写的.conf文件) #开启临时文件创建
touch /mnt/westos/jwl{1..5} #在/mnt下创建文件
systemd-tmpfiles --clean /usr/lib/tmpfiles.d/* #清理临时文件
8秒后才能清理临时文件