linux中的定时及延时任务

来源:互联网 发布:软件研究所 导师 编辑:程序博客网 时间:2024/06/06 12:54
1、at       ---系统延迟任务发起命令

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/*     ---执行命令,清理(注意观察下面两幅图的时间)





原创粉丝点击