一.系统延时任务
监控命令
watch -n 1 ls /villa/ ##对/villa/文件夹下进行监控
延时命令
at 23:37 ##设定任务执行时间
at>rm -fr /villa/* ##任务动作
at> <EOT> << CTRL +D ##用ctrl+D发起任务
(设定任务:在12:00建立一个名为file 的文件)
at now+1min ##延时1分钟
at> rm -fr /villa/*
at> <EOT>
(设定延时任务)
(设定时间后准时建立文件)
at -l ##查看任务列表
at -c 任务号 ##查看任务内容
at -r 任务号 ##取消任务执行
(查看任务列表)
(查看任务内容)
(取消任务内容)
注意:
当任务有输出时,输出会以邮件的形式发送给at任务的发起者
mail -u root ##查看年超级用户邮件
1 ##查看年第一封邮件
q ##退出
> /var/spool/mail/root ##清空邮件
(查看超级用户邮件)
二.at任务的黑白名单
/etc/at.deny ##系统中默认存在,在此文件中出现的用户不能执行at
/etc/at.allow ##系统中默认不存在,当文件出现,普通用户不能能使用,只有在名单中的用户可以,并且/etc/at.deny失效
(在/etc/at.deny中设置黑名单)
(切换到黑名单中用户,无法使用at功能)
(在/etc/at.allow中设置白名单)
(不在白名单中的用户无法使用at功能)
当白名单建立黑名单失效
注意:系统黑名单和白名单都不限制root用户
三.系统定时任务
使用之前查看年crond服务是否开启
系统控制crontab的服务:crond.server
(crond服务已开启)
1.crontab时间表示方式
分 时 月 日 星期
* * * * * ##每分钟
*/2 * * * * ##每两分钟
*/2 09-17 * * * ##早7点-晚5点每2分钟
*/2 */2 * * * ##每隔两小时每两分钟
*/2 09-17 3,5 1 5 ##3月和5月每周周五及3月1日和5月1日
*/2 09-17 * * 5 ##每周周五早9点到晚五点
2.命令方式设置定时任务
crontab -e ##编辑当前用户的定时任务
crontab -l ##查看当前用户的所有定时任务
crontab -r ##删除当前用户的所有定时任务
crontab -u username -e ##编辑username的定时任务
crontab -u username -r ##取消username的所有定时任务
crontab -u username -l ##查看username的所有定时任务
(建立并查看定时任务)
(删除并查看定时任务)
3.文件方式设定定时任务(系统级)
vim /etc/cron.d/file ##建立crond定时任务文件
* * * * * uesername action
* * * * * root rm -fr /villa/* ##每分钟使用root的名义清除villa下所有文件
(每两分钟清除一次/villa/下的文件)
注意:系统级的定时文件不能用crontab -l(用户级)查看
另外:文件设定方式中有针对不同需求的各种定时任务文件夹
cron.d/ ##用户自定义文件
cron.daily/ ##系统每天执行一次
cron.hourly/ ##系统每小时执行一次
cron.monthly/ ##系统每月执行一次
cron.weekly/ ##系统每周执行一次
4.crontab的黑白名单
/etc/cron.deny ##系统中默认存在,在此文件中出现的用户不能执行crontab
/etc/cron.allow ##系统中默认存在,当此文件出现,普通用户不能执行crontab
##只有在名单中的用户可以,并且/etc/at.deny失效
##这两个名单都不会影响/etc/cron.d/目录中定时任务的发起及执行
(设置用户黑名单)
(使用身在黑名单的用户无法进行crontal定时任务)
(设置用户白名单)
(使用白名单以外的用户,无法进行crontab定时任务)
四.系统中的临时文件的管理方式
cd /usr/lib/tmpfiles.d/
vim westos.conf ##其中为临时文件
d /mnt/villa 777 root root 8s ##延时8s建立权限为77的用户、组均为root的文件
systemd-tmpfile --create /usr/lib/tmpfiles.d/* ##创建/usr/lib/tmpfiles.d/中的文件
systemd-tmpfile --clean /usr/lib/tmpfiles.d/* ##判断并清除到期/usr/lib/tmpfiles.d/其中的文件