首页 > 代码库 > linux笔记 2-3 系统延迟以及定时机制

linux笔记 2-3 系统延迟以及定时机制

**************3.系统延迟及定时机制**************


## 1.at延迟 ##
at time
at> 动作
at> ctrl+d
at> <EOT>
at -l                          查看等待任务
atrm 任务号                    删除任务


例:设置延迟任务,在2:03时在/mnt新建文件test

技术分享

技术分享



当执行动作有输出时
输出结果会以邮件形式发送给任务发起人
mail                          查看邮件


例:编写脚本输出hello.xx!在2:10分时执行该脚本

技术分享

技术分享

由此可知执行结果并不会出现在交互式界面上而是有邮件方式发送给任务执行者

技术分享


at用户的黑白名单


/etc/at.deny                   黑名单,默认存在
/etc/at.allow                  白名单,默认不存在,一旦存在黑名单失效
                               并且所有普通用户能执行at的权力被禁止                                      只有在此文件中的用户可以执行at


例:在黑名单中添加student用户,测试student用户能否使用at命令

技术分享

技术分享

在白名单中添加student用户,测试student用户能否使用at命令

技术分享

技术分享

由此可知白名单一旦存在,黑名单失效


## 2.定期任务 ##

命令方式发起:

crontab -u username -e
MM hh dd mm ww
MM/2                          每隔两分钟
hh1-hh2                       hh1到hh2时间点

hh1,hh2                      hh1时间点和hh2时间点
crontab -l                    显示未进行的任务
crontab -u username -r        删除user的所有任务


例:新建定期任务每分钟执行一下输出“hello”
技术分享


技术分享

技术分享


技术分享


文件方式发起:
vim /etc/cron.d/filename
MM hh dd mm ww username action
或:
echo ‘MM hh dd mm ww username action’ >/etc/cron.d/filename


例:用上面两种方式分别发起任务在/mnt中新建5个文件

技术分享技术分享

cron用户的黑白名单
/etc/cron.deny                黑名单,默认存在
/etc/cron.allow               白名单,默认不存在,一旦存在黑名单失效

                              并且所有普通用户能执行crontab的权力被禁止                                 只有在此文件中的用户可以执行crontab
注:

如果以文件方式写入没有执行crontab权限用户的动作,该用户动作依旧可以执行,因为该用户执行的动作不是crontab,动作依旧可以被执行


## 3.系统临时文件管理 ##
vim /usr/lib/tmpfiles.d/*.conf

type filename perm user group time

例:d /mnt/westos 1777 root root 5
指这个目录里创建的文件最短会存在5s
systemd-tmpfiles --create /usr/lib/tmpfiles.d/*
systemd-tmpfiles --clean /usr/lib/tmpfiles.d/*


技术分享技术分享

linux笔记 2-3 系统延迟以及定时机制