1.系统延时任务
at 23:37 ##设定任务执行时间
at> rm -fr /mnt/* ##任务动作
at> <CTRL +D ##用ctrl+D发起任务(设定任务后需要按ctrl+D来发起延时任务)
at -l ##查看任务列表
at -c 任务号 ##查看任务内容
at -r 任务号 ##取消任务执行
注意∶
1.当任务有输出时,输出会以邮件的型是发送给at任务的发起者
2.系统使用mail功能需要安装软件,安装软件的前提是需要软件仓库
-
dnf install postfix.x86_64 mailx.x86_64 -y
-
systemctl enable --now postfix
-
systemctl status postfix
-
mail ##查看系统的邮件
-
at now+1min ##延时1分钟
at> echo hello linux!
at> < EOT >
&邮件号 ##查看第一封邮件
&q ##退出
&help ##查看帮助
2.at任务的黑白名单
at命令默认所有用户可以执行
- /etc/at.deny ##系统中默认存在,在此文件中出现的用户不能执行at
- /etc/at.allow ##系统中默认不存在,当文件出现,普通用户不能执行
- at ##只有在名单中的用户可以,并且/etc/at.deny失效
注意:
白名单等级高于黑名单,
白名单创建之后系统中所有普通不能执行at命令只有在白名单中的用户是被允许的(理论上超级用户是不被限制的)
3.系统定时任务
(1) crontab时间表示方式
格式如下:
分钟 小时 天 月 周(空格隔开)
1,2表示1和2
1-5 表示1到5
1-5/2表示1到5,每隔两分钟
*/2 * * * * ##每两分钟
*/2 09-17 * * * ##早9-晚5每两分钟
*/2 */2 * * *. ##每隔2小时每两分钟
*/2 09-17 * * 5 ##每周周五早9晚5
- man 5 crontab ##查看帮助,键值的形式表示(0和7表示的都是周日)
(2) 系统控制crontab的服务
- crond.service ##当程序开启时定时任务生效
-/ var/ spool/ cron/username ##任务保存文件
(3) 用户级的crontab命令
编写规则:
时间 动作
普通用户和超级用户可以执行:
- crontab -e ##编辑任务
- crontab -l ##列出任务
- crontab -r ##删除任务
注意: 只有超级用户可以指定用户,可以使用超级用户执行如下命令指定用户
-
crontab -e -u ##编辑任务
-
crontab -l -u ##列出任务
-
crontab -r -u ##删除任务
-
/etc/cron.deny ##crontab黑名单
-
/etc/cron.deny ##crontab白名单(等级高于黑名单,如果设定好白名单,只有白名单用户可以使用crontab)
(4) 系统级别的cron_(文件方式设定定时任务)
系统级别的cron,只有超级用户可以编写
因为是系统级别的,所以不能用crontab -l查看
所在目录: -
/etc/cron.d ##在改目录下编写文件为系统级别的cron,只有root用户可以操作
编写规则:
时间 用户 动作
(5) 临时文件的清理
- systemd-tmpfiles ##管理临时文件
- systemd-tmpfiles --cat-config ##用此命令可以查看临时文件建立的策略
临时文件的编写规则:
编写位置:/lib/tmpfiles.d/XXX.conf ##/usr/lib/tmpfiles.d和/lib/tmpfiles.d内容是一样的
编写规则:文件类型 文件名称 文件权限 文件用户 文件用户组 文件生命周期
- systemd-tmpfiles --create /lib/tmpfiles.d/qx.conf ##创建临时文件处理规则
- systemd-tmpfiles --clean /lib/tmpfiles.d/qx.conf ##执行清理临时文件的规则