Linux中的延时任务
首先我们需要监控所创建延时任务的文件夹,每1s对/mnt/进行监控
可以看到文件夹下没有文件
下面开始创建任务
利用at命令创建任务
at+时间#任务开始的时间
touch /mnt/westosfile
#创建任务内容
at#在任务设定完毕后按ctrl+D会自动显示
任务已经创建显示出来了
另一种方式
at now+xmin
#x表示任意数字表示按下ctrl+D后多少分钟以后
rm -fr /mnt/westosfile#任务内容
按ctrl+D创建任务成功
文件已经被删除
其他at指令相关操作
at -l | atq
#查看任务列表(只显示未执行的任务)
at -c+任务号#查看任务内容(查看内容较多)
任务号:在任务创建好后在任务时间之前的序号
at -r+任务号#删除相应任务号的任务
查看任务,因为已经删除所以不存在
at任务的黑名单建立
/etc/at.deny 此文件下是at任务的黑名单
在此名单中的用户无法使用at任务
将westos用户加入其中
检查是否可以使用at任务
显示没有权限
白名单的建立
/etc/at.allow 此文件在系统中是不存在的所以需要自己手动建立在此文件存在的时候黑名单失效,只有在此文件夹下存在的用户才能使用at任务
添加westos用户在此文件下
可以使用at任务,由于刚才westos在黑名单下,所以证明黑名单已经失效
系统定时任务
crontab指令相关
systemctl start crond
#开启定时服务任务
确认服务已经开启
crontab -e -u root
#以root用户身份建立定时任务
crontab -l -u root
#查看root用户所创立的定时任务
crontab -r -u root
#删除root用户建立的定时任务
crontab服务建立后的文件表示如上图
第一行表示每时每刻其中星号表示的顺序为每分 每时 每天 每月 每周
第二行表示每两分钟执行一次其他与第一行一致
第三行表示每天的09时和17时每两分钟执行一次,其他一致
第四行表示每天09-17时每两分钟执行一次,其他与前面一致
第五行表示每月的1号这天的09-17时每两分钟执行一次其他与前面一致
第六行表示3月1号和3月的所有周四的09-17时每两分钟执行一次
任务的创建
查看任务的执行情况,以为任务都是正点执行所以会存在一定程度的误差,多查看几次即可
crontab 的黑白名单设置
/etc/cron.deny#系统中的黑名单
/etc/cron.allow#系统中的白名单
其用法与at指令的黑白名单一致
系统中临时文件的管理
系统中服务在正常运行时会产生临时文件,在系统中 /usr/lib/tmpfiles.d/ 目录下存放
1.临时文件的书写格式
d /run/user/ 0755 root root -
d表示文件类型 /run/user表示文件位置 0755表示文件的权限 前一个root表示文件所属的用户 后一个root表示文件所属的族 -表示文件存在的时间
2.新建一个临时目录
cd /usr/lib/tmpfiles.d/
ls
vim westos.conf
systemd-tmpfiles --create /usr/lib/tmpfiles.d/*
#设定临时文件所产生的所在地址
touch /mnt/westos/file1
systemd-tmpfiles --clean /usr/lib/tmpfiles.d/*
清理超过周期的临时文件,没有超过的文件无法清理