linux中的定时及延时任务
at time
>command ---任务指令
>ctrl+d ---发起任务
at -l ---列出延时任务Id
at -r id ---删除改id任务
at -m ---让无输出的命令产生邮件
at -M ---让有输出的命令不产生邮件
at -c id ---查看此id延迟任务的执行动作
at -f filename ---用文件内记录的命令作为延迟任务的执行命令,该文件内只能是指令
用户黑名单在默认情况下存在,可以通过修改配置文件设置黑名单
vim /etc/at.deny ---默认为空,在白名单不存在时生效
student ---禁止student使用at命令
用户白名单在系统中默认不存在,须自己建立,但是当白名单建立后将只有白名单中的用户和root用户可以执行at命令,同时黑名单会立即失效
vim /etc/at.allow
kiosk
2、cron ---定时任务,cron这个程序是由cron.service提供,写入程序的时间和事件是永久保存的
crontab -e -u username(可不写) ---即时生效
分钟 小时 天 月 周 事件
58 06 * * * rm -rf /mnt/* ---每天06:58删除/mnt下的文件
58 06 1,15 * rm -rf /mnt/* ---每月1,15 ,删除
58 06 1-15 * rm -rf /mnt/* ---每月1-15 删除
58 06 1,15 3 rm -rf /mnt/* ---3月的1,15号和3月每周三删除
58 0-23 * * * ---每个小时作一次
*/30 0-23 * * * ---每隔半小时做一次
注意观察下面两张图中文件建立时间
crontab -l ---列出当前用户的cron任务
crontab -r ---删除当前用户的cron任务
cron的黑白名单,系统默认只存在黑名单,当白名单建立黑名单即失效
/etc/cron.deny ---此名单中的用户不能执行crontab命令
/etc/cron.allow ---用户白名单,当此名单生效时,只有root用户及名单中的用户可以执行命令
(1)文件方式定义crontab
vim /var/spool/cron/username ---以某个用户名称执行cron,文件名必须和用户名一致
分 时 天 月 周 动作
(2)vim /etc/cron.d/filename ---设定多个用户身份执行cron
分 时 天 月 周 用户 动作
分 时 天 月 周 用户 动作
(3)脚本方式:
#!/bin/bash
cat >> /etc/cron.d/westos <<EOF
* * * * * root touch /mnt/{5,9}
* * * * * kiosk touch /mnt/file{8,0}
EOF
3、系统临时文件管理 ---缓存清理
vim /usr/lib/tmpfiles.d/filename.conf
文件类型 路径 权限 用户,组 清理缓存时间
d /mnt/westos/ 777 root root 20s
systemd-tmpfiles --create /usr/lib/tmpfiles.d/* ---创建命令
systemd-tmpfiles --clean /usr/lib/tmpfiles.d/* ---执行命令,清理(注意观察下面两幅图的时间)