################
#######at#######
################
#1.at命令的基本用法
[root@foundation60 ~]# at 10:00
at> echo hellp world
at> <EOT>
job 5 at Wed Nov 1 10:00:00 2017
[root@foundation60 ~]#
at -l #列出延遲任務id
at -r 任務id #刪除此id對應的任務
at -m #讓無輸出的命令產生郵件
at -M #讓有輸出的命令不產生郵件
at -c 任務id #查看此id對應的延時任務的執行動作
at -f #用文件內記錄的命令作爲延時任務的的執行命令
#at命令的使用控制
默認系統中全部用戶都有執行at命令的權力,那麼如何設定at命令的黑白名單:
#黑名單
默認情況下,系統中是存在用戶黑名單的
/etc/at.deny #用戶黑名單,此名單默認爲空,並且在白名單不存在時生效
vim /etc/at.deny
student #stdent不能執行at命令
黑名單中寫了kiosk因此用戶kiosk不能執行at命令。
但westos用戶可以執行at命令。
#白名單
默認系統中時不存在at的白名單的
但是當白名單出現時,系統出名單中出現的用戶以及root用戶
其他用戶均不能執行at命令
touch /etc/at.allow #建立用戶白名單,當白名單出現,黑名單失效
建立白名單,並在其中寫入kiosk,儘管黑名單中有kiosk用戶仍可以執行at命令。
westos用戶不能執行at命令。
#################
######cron#######
#################
#1)這個程序是由
##crond.service服務提供
#2)寫入程序的時間和事件是永久保存的
cron設定方式
方法1
crontab -e -u 用戶名稱(可以不寫)
分鐘 小時 天 月 周 事件
58 06 * * * rm -fr /mnt/* #每天6:58刪除mnt中的所有內容
58 06 1,15 * * rm -fr /mnt/* #每月1號和15號的6:58刪除mnt中的所有內容
58 06 1-15 * * rm -fr /mnt/* #每月1號到15號的6:58刪除mnt中的所有內容
58 06 1,15 3 * rm -fr /mnt/* #3月1號和15號的6:58刪除mnt中的所有內容
58 06 1,15 3 3 rm -fr /mnt/* #3月1號和15號以及3月的所有周三刪除mnt中的所有內容
58 06-17 * * * rm -fr /mnt/* #6-17點,每個小時的58分刪除mnt中的所有內容
*/30 06-17 * * 1-5 rm -fr /mnt/* #週一到週五的6-17點每個半小時刪除mnt中的所有內容一次
root用戶給自己創建定時任務。
root用戶給kiosk用戶創建定時任務。
crontab -l ##列出當前用戶的cron任務
crontab -r ##刪除當前用戶的cron任務
/var/spool/cron/* ##cron任務記錄文件存放位置
##2.cron的黑白名單
#黑名單
默認情況下,系統中只存在黑名單,當白名單被建立時,黑名單失效
vim /etc/cron.deny
student ##student用戶不能執行crontab
#白名單
/etc/cron.allow #用戶白名單,當此名單出現時,出root用戶及名單內出現的用戶外,其他用戶均不可執行crontab
touch /etc/cron.allow
vim /etc/cron.allow
westos #westos用戶可以執行crontab
##3.文件夾方式定義crontab
vim /var/spool/cron/用戶名稱 #以某個用戶身份執行cron,文件名稱必須和用戶名稱一致
分 時 天 月 周 動作
用root用戶給kiosk用戶下達定時任務,每天00:00清除系統日誌。
vim /etc/cron.d/文件.sh
分 時 天 月 周 用戶 動作 #設定多個用戶身份執行cron
用root用戶給root用戶和kiosk用戶分別下達定時任務。root每分鐘touch下/tmp/root文件,kiosk每分鐘touch下/tmp/kiosk/文件
[root@foundation60 ~]# cat cron.sh
#!/bin/bash
#cat >>/etc/crod.sh/westos <<EOF
#* * * * * root touch /tmp/file{1,2}
#* * * * * student touch /tmp/file{3,4}
#EOF