1】系统延时任务
at 命令
作用:设定在某个时间执行设定任务,该任务至执行一次
1 固定时间
[root@localhost Desktop]# date # 查看当前时间
Tue Apr 16 20:00:42 CST 2019 #显示时间
[root@localhost Desktop]# at 20:02 #在20:02执行命令
at> touch file<EOT> #ctrl+d 发起任务
at now+ 时间
[root@localhost Desktop]# at now+1min #设定执行任务时间当前时间1分钟后
at> rm -fr file #设定任务执行的命令
at> <EOT> #ctrl+d 发起任务
job 2 at Tue Apr 16 20:11:00 2019
[root@localhost Desktop]#
at -l #查看任务列表
at -c 任务号 #查看任务内容
at -r 任务号 #取消任务执行
at 黑名单设置
延时任务的黑名单 /etc/at.deny
系统中默认存在,出现在黑名单中的用户将无法使用at设定延时任务。
延时任务的白名单 /etc/at.allow
系统中默认不存在,如果自己创建,黑名单失效;只有出现在白名单中的用户才能使用at设定延时任务,超级用户不受限制
mail 命令
作用:
当延时任务有输出时候,并不是输出在终端上,而是以邮件的形式发送给任务的发起者。
执行date命令会输出当前时间:
[root@foundation47 ~]# date
Sat Apr 13 13:52:52 CST 2019
使用超级用户延时执行date命令,并没有时间输出到该终端,并且该延时任务已经执行
查看用户的邮件 mail -u 用户名
mail -u root# 查看超级用户的邮件
1 # 查看第二封邮件的详细信息
q # 退出
邮件的存放位置
/var/spool/mail/用户名 :每一个用户的邮件会被记录在以其用户名为名称的文件中
. > /var/spool/mail/root #清空root用户的邮件
3系统控制crontab的服务
crontab由crond.service 服务控制。当该服务开启时,所设定的定时任务才能生效。
4 文件的方式设定定时任务
创建/etc/cron.d/xxx 文件 ,在该文件中编写需要执行的定时任务
任务编写格式:* * * * * 用户(执行该任务的) 任务操作
*代表: 分 时 天 月 周
crontab -e -u 设定
crontab -l -u 查看
crontab -r -u 删除
文件的方式设定任务
注意:crontab又crontab.service服务控制。当服务开启时,所设定的定时任务才能生效。且文件设定时不受黑白名单的影响。
crontab白名单
/etc/cron.allow ##白名单 系统中默认不存在,须自行创建
注意:当文件出现,普通用户不能执行crontab,只有在名单中的用户可以,并且/etc/cron.deny失效
crontab黑名单
vim /etc/cron.deny ##黑名单 系统中默认存在,在此文件中出现的用户不能执行crontab
系统中临时文件的管理
systemd-tmpfiles 系统用来创建、管理、删除临时文件的命令。
临时文件都存在有效期,当其有效期过了之后就可诶被清理,但是有效期没过就不能被清理。所以设置定时任务对系统的临时文件进行清理,在每次清理时过期的文件会被清理掉,只要设置合适的清理周期,就能保证系统中临时文件不会占用大量资源。
cd /usr/lib/tmpfiles.d ##切换到管理目录
ls ##查看
vim westos.conf ##创建一个自定义的临时文件管理文件
d /mnt/shiyan 777 root root 10s ##清除在/mnt/shiyan/目录下创建超过10s的文件
systemd-tmpfiles是系统用来创建、管理、删除临时文件的命令。
systemd-tmpfiles --create /usr/lib/tmpfiles.d/* ##编写一个临时目录的规范文件,并扫描该规范文件创造出该目录
systemd-tmpfiles --clean /usr/lib/tmpfiles.d/* ##使用该指令对临时文件的规范文件进行扫描,过期的临时文件会被清理