一、系统延时任务
(1)at的使用说明
at -l
##查看任务列表
at -c 任务号
##查看任务内容
at -r 任务号
##取消任务执行
(2)具体操作
[root@localhost ~]# at 23:37
##设定任务执行时间
at> rm -fr /mnt/*
##任务动作,回车
at> <EOT> << CTRL +D
##用ctrl+D完成并发起任务
例如
[root@localhost ~]# at now+1min
##延时1分钟
at> rm -fr /mnt/*
at> <EOT>
(3)输出信息用邮件反馈
当任务有输出时,输出会以邮件的型是发送给at任务的发起者
mail -u root ##查看超级用户邮件
1、安装邮件组件
dnf install postfix mailx
##一个是客户端,一个是服务端
systemctl enable --now postfix.service
##开启服务
2、输出信息
3、查看邮件
1 ##查看第一封邮件
q ##退出
/var/spool/mail/root ##邮件地址,可以清空
(4)利用延时at命令,1分钟后建立/mnt下新文件wetos1,westos2,westos3
1、 输入命令,建立一分钟后的延时任务
at now+1min
2、输入内容
at> touch /mnt/westos{1..3}
at> <EOT>
(ctrl+d)
3、 at -l查看任务
4、效果如下
二、at任务的黑白名单
(1)使用说明
/etc/at.deny
##系统中默认存在,在此文件中出现的用户不能执行at
/etc/at.allow
##系统中默认不存在,当文件出现,普通用户不能执行at
(2)注意事项
只要在白名单中的用户可以使用,并且/etc/at.deny黑名单失效
(3)建立延时人物黑白名单
建立黑名单lee
1、进入延时配置文件
vim /etc/at.deny
添加用户黑名单lee
2、切换为用户lee进行定时任务,发现权限被拒绝
3、 当出现白名单时,黑名单失效,只有白名单里面的人可以建立文件
4、 vim /etc/at.allow
进入白名单
5、 切换至普通用户list发现失效
6、 切换至用户lee发现成功
三、系统定时任务
(1)使用说明
#/var/spool/cron/username ##任务保存文件
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 使用方法
crontab -e -u
##crontab -e -u root 以root身份创建任务
crontab -l -u
##crontab -l -u root 查看root的任务
crontab -r -u
##crontab -r 2 -u root 取消root的第二个任务
(3)注意事项: 系统控制crontab的服务开启
crond.service ##确保这个服务开启才能定时
(4) 定时任务(crond.service一定要开启)
建立定时任务
1、 crontab -u root -e
(以root身份去建立定时任务)
表示在5月7日和 5月的每个星期五5的19:48分,删除文件
取消定时任务
(5)定时任务的黑白名单
1、 进入黑名单
vim /etc/cron.deny
切换至用户lee的时候发现建立失败
同理,建立白名单后只有白名单里面的人才能建立定时任务
四、系统级别的cron(文件方式设定定时任务)
(1)使用说明
vim /etc/cron.d/file
创建系统级别的定时文件
文件里面的格式为
* * * * * username action
例如 :* * * * * root rm -fr /mnt/
每分钟删除root用户的/mnt/
(2):系统级别的定时任务设定
1、进入系统级别配置文件(分别为自定义,每天,每小时,每月,每周的执行任务)
2、 建立自定义定时任务kkk(每分钟执行一次)
vim /etc/cron.d/kkk
3、表示对root用户里的文件。每分钟删除一次
完成任务
五、系统中临时文件的管理方式
(1)操作过程
cd /usr/lib/tmpfiles.d/
临时文件的产生目录
vim westos.conf
查看里面的临时为文件
d /mnt/westos 777 root root 8s
建立目录,基于777的权限和root用户名用户组,存在8秒的临时时间
systemd-tmpfiles --create /usr/lib/tmpfiles.d/*
创建*临时文件
systemd-tmpfiles --clean /usr/lib/tmpfiles.d/*
清除临时文件
(2)系统临时文件的清理
临时文件只能用systemd-tmpfiles 去清理,用 rm -fr 会错误删除一些正在使用的文件
1、 进入临时文件产生地点
cd /lib/tmpfiles.d/
2、 创建westos文件
vim /lib/tmpfiles.d/westos.conf
3、 表示在/mnt/位置创建一个临时的westos目录,并且所有人,所有组为root,设置其生命周期为5秒
4、 创建生成临时目录
systemd-tmpfiles --create /lib/tmpfiles.d/westos.conf
5、在临时目录里生成文件
touch /mnt/westos/kkk1
6、 在系统里面存在5秒以上时可以用临时清理命令进行清理
systemd-tmpfiles --clean /lib/tmpfiles.d/westos.conf
当kkk1文件存在的时间超过5秒以上后,可以对其进行清理掉