一.延时任务
延时任务是指系统可以指定某一任务在将来的某一特定时间执行。该任务可能是一次备份、对系统的检查或者特定时间发送的通知。设定了延时任务后,可以安全注销,该任务会在与 shell 会话断开连接的情况下运行。
延时任务的设定:
at命令:此命令发起的延时任务都是一次性的
1.at 时间
键入 at 命令行之后 , 按 Enter 键入要运行的命令 ,然后在单独出现的一行中按 Ctrl+d 完成任务。
当设置的时间已经是过去的时间时,系统默认将延时任务的时间改成下一天的此时间
2.at -l ##查看当前的延时任务
由上述执行结果可以看出,当延时任务执行之后,再次使用at -l查看延时任务,任务就不存在了,故延时任务是一次性的。
3.at -d 任务号 ###取消还未执行的延时任务 (任务号是指at -l 查看到任务前面的号码)
atrm 任务号 ###取消还未执行的延时任务
4.at now+1min ##延时一分钟执行
5.at -f filename ##延时执行文件中的内容
先建立一个脚本文件
vim linux.sh,编辑文件
文件的执行结果为:
给文件添加延时任务,让系统在15:00的时候执行文件的内容
6.at -m ##延时命令没有输出的情况下发邮件给执行者
at -M ##延时命令没有输出的情况不下发邮件给执行者
at命令的执行权力设定
1. /etc/at.deny 用户黑名单,在此名单中出现的用户不能执行at命令
2. /etc/at.allow 用户白名单,白名单默认不存在,需要自己创建
白名单一旦存在,系统中所有的用户默认不能执行at命令,只有在白名单中出现的用户可以执行at命令
二.定时任务(cron服务)
cron是服务名称,crond是后台进程,crontab则是定制好的计划任务表。
cron服务(守护进程)在系统后台运行,并且会持续地检查/etc/crontab文件和/etc/cron.filename目录。
crontab命令用于设置周期性被执行的指令。该命令从标准输入设备读取指令,并将其存放于“crontab”文件中,以供之后读取和执行。定时任务时永久的。
定时任务的发起方式
1.crontab命令方式
crontab -u username -e ##编写定时任务
crontab -u username -l ##查看定时任务
crontab -u username -r ##删除定时任务
2.编辑配置文件
vim /etc/cron.d/filename
# 发起任务编写命令格式:
* * * * *
# 分钟 小时 天 月 周 命令(最好用绝对路径)
# * * * * * root rm -rf /mnt/* ##root用户每一分钟清理一次/mnt
若命令前有六组信息,则最开始的一组是秒的信息
若命令前有七组信息,则最后的一组是年份的信息
注:在该种方式下设定的定时任务的删除需要删除建立的配置文件
crontab命令的执行权力设定
1. /etc/cron.deny 用户黑名单,在此名单中出现的用户不能执行crontab命令
但是如果root用户指定student执行crontab命令,黑名单默认不起效
2. /etc/cron.allow 用户白名单,只有在此名单中出现的用户才能执行crontab命令。白名单默认不存在
cron时间表示示例
cron语法 | 命令何时运行 |
05 * * * * | 每小时整点过5分钟 |
05 02 * * * | 每天2:05am |
30 08 01 * * | 每月第1天的8:31am |
00 07 25 12 * * | 12月25日7:00am |
30 16 * * 5 | 每个星期五的4:30pm |
*/5 * * * * | 每5分钟 |
*/10 9-17 1,5 * * | 每月的第一天和第15天9:00am到5:00pm之间每隔10分钟运行一次,最后一次运行是在4:50pm,5:00pm不会运行 |
0 0 1 jan 0 | 1月1日午夜和1月的每个星期日(不仅是1月1日所在的星期日) |
三.系统临时文件的管理
系统中服务在正常运行中都会产生临时文件 /usr/lib/tmpfiles.d/
vim /usr/lib/tmpfiles.d/*.conf
d | /mnt/westos/ | 777 | root | root | 10s |
文件 类型 | 临时文件所在的目录 | 权限 | 拥有者 | 所属组 | 文件存在的 时间 |
systemd-tmpfiles --create /usr/lib/tmpfiles.d/*.conf //执行配置文件内容
systemd-tmpfiles --clean /usr/lib/tmpfiles.d/*.conf //清除存在时间超过设置的文件存在时间的临时文件,
如果文件存在的时间小于设置的存在时间(刚刚创建),则这次删除操作不会删除该文件