1.延迟任务
(1)at命令:
at 时间 #设定在该时刻要进行什么操作
at now+数字min #在几分钟后要进行什么操作
at -l #查看该操作的编号(只能查看到最新建立但又未执行的操作)
at -c 3 #查看编号为3要做什么操做(操作一旦执行便查看不到了)
at -r 3 #撤回编号为3的操作
例如:
[root@localhost ~]# at 16:00
at> touch /mnt/file{1..3} #要做的操作
at> <EOT> #(按ctrl+d)
注:做以上操作时需打开一个shell用ssh连接相同的虚拟机
用watch -n 1 ls /mnt 来监控,便于观察现象
(2)白名单和黑名单的指定
白名单:
vim /etc/at.deny #编辑at配置文件,指定黑名单(即用户不能执行at操作)
黑名单:
touch /etc/at.allow #建立白名单的配置文件(系统默认没有白名单配置文件。白名单一旦出现,黑名单便会失效,即只有超级用户能执行at命令)
vim /etc/at.allow #编辑at配置文件,指定白名单,即指定用户和root用户才能>执行at操作
2.定时任务
(1)方法一(crontab命令)
systemctl status crond.service #查看定时服务是否开启
crontab -u root -e #发起任务
###############
58 21 * * * /bin/touch /mnt/file{1..3}
#在每天的21:58在/mnt建立file1 file2 file3
crontab -u root -l #查看任务
crontab -u root -r #删除所有任务
参数解释:
分钟 小时 天 月 周
* * * * * #每天每分钟
*/2 08-17 12 6 3 #6月12日早上8点到下午的5点每隔2分钟和6月的星期三 即:周和天是独立的
(2)方法二(文本的方式)
cd /etc/cron.d #切换路径
vim westos #名字可随意取
###########
* * * * * root touch /mnt/file{1..3}
注:做以上操作时需打开一个shell用ssh连接相同的虚拟机
用watch -n 1 ls -R /mnt -l 来监控,便于观察现象
白名单和黑名单的指定:
白名单:
vim /etc/cron.deny #编辑crontab的配置文件,指定黑名单(即用户不能执行crontab操作)
黑名单:
touch /etc/cron.allow #建立白名单的配置文件(系统默认没有白名单配置文件。白名单一旦出现,黑名单便会失效,即只有超级用户能执行at命令)
vim /etc/cron.allow #编辑at配置文件,指定白名单,即指定用户和root用户才能执行crontab操作
注意:指定多个用户时需要换行,即编辑配置文件时不能写在一行。
3.对临时文件的清理
cd /usr/lib/tmpfiles.d/
vim westos.conf #名字可随便取
############
d /mnt/westos 177 root root 5s
#类型 名称 权限 用户 组 存在时间
systemd-tmpfiles --create /usr/lib/tmpfiles.d/* #creat 创建
systemd-tmpfiles --clean /usr/lib/tmpfiles.d/* #clean 清除