Linux system 定时及延时任务
系统中的定时与延时
1.at
基本形式
at time
>ls /mnt/
>ctrl + D
在设置时间执行相应任务
at -l #列出延迟任务id
-r 任务id #删除此id的任务
-m #让无输出的命令产生邮件
-M #让有输出的命令不产生邮件
-c 任务id #查看此id延迟任务的执行动作
-f 文件 #用文件内记录的命令作为延迟任务的执行命令
##at命令的使用控制##
默认系统中全部用户都有执行at命令的权力
1)用户黑名单
默认情况下系统中是存在用户黑名单的
/etc/at.deny #用户黑名单,此名单默认为空,并且在白名单不存在时生效
用户黑名单中添加student用户,导致该用户无法执行at命令
2)用户白名单
默认情况下系统中不存在at的白名单,但是当白名单出现,系统除名单中的用户及root用户,其他用户均不能执行at命令
touch /etc/at.allow #建立用户白名单,当白名单出现,黑名单失效
白名单中添加westos用户,该用户可执行at命令
而student不在白名单中,所以无法执行at
3.cron
1)cron这个程序是由crond.service服务提供
2)写入出程序的时间和事件是永久保存的
##cron设定方式##
crontab -e -u 用户名称(可以不写)
分钟 小时 天 月 周 事件
58 06 * * * touch /mnt/file #每天6:58分在/mnt/中建立file文件
3)黑名单
/etc/cron.deny #用户黑名单,此名单默认为空,并且在白名单不存在时生效
4)白名单
/etc/cron.allow #当此名单出现,除root用户及名单中的用户其他用户不能执行cron命令
touch /etc/cron.allow #建立白名单
默认情况下的student用户可执行cron
白名单中添加westos用户,该用户可执行cron
而白名单中无student用户,所以无法执行cron
##文件方式定义crontab##
vim /var/spool/cron/用户名称 #以某个用户身份执行cron
<分> <时> <天> <月> <周> < 动作>
vim /etc/cron.d/文件 #设定多个用户身份执行cron
<分> <时> <天> <月> <周> < 动作>
vim /etc/cron.d/cron.sh #脚本编写执行cron
4.临时文件的限时删除
vim /usr/lib/tmpfiles.d/名称.conf #临时文件的配置文件
文件中表示若建立一个临时文件,该文件在20s内是可删除的,超时后无法删除
创建临时文件并测试在设定时间内和设定时间外的区别