一、系统延时任务(到指定时间执行后就会消失,临时生效)
1.at 命令的基本用法
at 23:37 ##设定任务执行时间,具体的时间
at> touch /mnt/file{1..3} ##任务动作
at> <EOF> ##ctrl+d即可,任务动作输入后,<EOF>不是手动输入的
at now+1min ##延时1分钟后执行(根据crtl+d 时的时间算)
at> rm -fr /mnt/file{1..3} ##任务动作
at> <EOF> ##ctrl+d即可,任务动作输入后,<EOF>不是手动输入的
at -l | atq ##查看任务列表(只显示未执行的任务)
at -c 任务号 ##查看任务内容(查看内容较多)
at -r 任务号 ##取消任务执行
注意:
当任务有输出时,输出会以邮件的型是发送给at任务的发起者
mail -u root ##查看超级用户邮件
1 ##查看第一封邮件
q ##退出
> /var/spool/mail/root ##清空邮件
2.at 任务的黑白名单(即 at 任务的可执行权限设置)
黑名单本身存在,而白名单本身不存在,但是当白名单被建立出来,黑名单立即失效,以白名单中的用户名为准,所以白名单的优先级高于黑名单。
/etc/at.deny ##系统中默认存在,在此文件中出现的用户不能执行at
/etc/at.allow ##系统中默认不存在,当文件出现,普通用户不能执行at
##只有在名单中的用户可以,并且/etc/at.deny失效
二、系统定时任务
##与延迟任务相比,定时任务是永久的,而延迟任务是临时的。
而且定时任务程序crond,在系统中每分钟做任务扫描,所以最短时间为一分钟。
1.crontab
编写任务的时间表示方式
2.开启系统的crontab
服务
systemctl start crond
3.crontab
任务的建立
crontab -e -u root ##以root身份建立定时任务
crontab -l -u root ##查看root用户的定时任务
crontab -r -u root ##删除root用户的定时任务
cat /var/spool/cron/root ##查看建立定时任务后生成的文件内容
4.文件方式设定定时任务(可以创建多个用户的多个任务)
vim /etc/cron.d/file ##文件名称任意
5.crontab
的黑白名单设置(这两个名单都不会影响/etc/cron.d/目录中已有定时任务的发起及执行)
##与at的黑白名单类似,此处不再详细比较
/etc/cron.deny ##系统中默认存在,在此文件中出现的用户不能执行crontab
/etc/cron.allow ##系统中默认不存在,当文件出现,普通用户不能执行crontab
##只有在白名单中的用户可以,并且/etc/at.deny失效
四、系统中临时文件的管理
##系统中服务在正常运行时会产生临时文件,在系统中 /usr/lib/tmpfiles.d/ 目录下存放
1.临时文件的书写格式
d | 文件类型 |
---|---|
/run/user | 文件名 |
0755 | 文件权限 |
root | 文件所有人 |
root | 文件所有组 |
- | 文件存在时间 |
2.新建一个临时目录
cd /usr/lib/tmpfiles.d/
ls
vim westos.conf
systemd-tmpfiles --create /usr/lib/tmpfiles.d/* ##创建出文件中设定的临时文件保存目录
touch /westos/yy/file1
systemd-tmpfiles --clean /usr/lib/tmpfiles.d/* ##清理调超过设定生命周期的文件,此处为10s,没有超过10s的文件无法删除