系統延時及定時任務
1.系統延時任務
at指令發起的延時任務都時一次性的
at + time
[root@demo ~]# at 11:11
at> rm -fr /mnt/* ##延遲動作
at> <EOT> ##ctrl+d表示發起動作
job 6 at Tue Aug 1 11:11:00 2017
at -l | atq #檢視目前任務
atrm | at -d #取消指定任務
at -c #檢視任務内容
at now+1min #延遲一分鐘
at -f file #延遲執行檔案中的内容
at -m #延遲指令沒有輸出時仍然發送郵件給執行者
at -M #延遲指令有輸出時但不發送郵件給執行者
用監控指令檢視 watch -n 1 ls -l /mnt/
<a href="https://s2.51cto.com/oss/201711/01/05671646d2c845cba425f98978c52397.png-wh_500x0-wm_3-wmp_4-s_3406327010.png" target="_blank"></a>
<a href="https://s2.51cto.com/oss/201711/01/16a37dccae7a0d59bdca8d756d86dd4b.png-wh_500x0-wm_3-wmp_4-s_4109558501.png" target="_blank"></a>
檢視郵件 mail
#### at 指令的執行權力設定 ####
/etc/at.deny ##使用者黑名單,在此名單中出現的使用者不能執行at指令
/etc/at.allow ##使用者白名單,名單預設不存在,但名單一旦出現,黑名單失效
##系統所有使用者預設不能執行at,隻有在名單中出現的使用者可以使用at指令
<a href="https://s3.51cto.com/oss/201711/01/d4cb0e2abddf3d478be476d9cea722d8.png-wh_500x0-wm_3-wmp_4-s_2449061333.png" target="_blank"></a>
2.定時任務
#定時任務是永久的
#定時任務程式crond,在系統中每分鐘做任務掃描
#發起方式一#
crontab -u username -e
crontab -u username -r
crontab -u username -l
分鐘 小時 天 月 周 事件
* * */2 * * #每隔兩天
12 12 * * * rm -fr /mnt/* #每天的12:12删除mnt裡的内容
* * 1,2 * * rm -fr /mnt/* #每月的1号和2号删除mnt裡的内容
* * 1-3 * * rm-fr /mnt/* #每月的1号到3 号删除mnt裡的内容
*/2 6-18 * * 1-5 rm -fr /mnt/* #周一但周五早上6點到下午6點每隔兩分鐘删除mnt裡的内容
檢視狀态 systemctl status crond.service
crontab -e
crontab -l 列出目前使用者的cron任務
crontab -r 删除目前使用者的cron任務
<a href="https://s2.51cto.com/oss/201711/01/4815ae1f3580b84cc8c875f5478604fc.png-wh_500x0-wm_3-wmp_4-s_2728396316.png" target="_blank"></a>
<a href="https://s1.51cto.com/oss/201711/01/95d449549d56a9c06bbacd63cde6c74c.png-wh_500x0-wm_3-wmp_4-s_3326965036.png" target="_blank"></a>
crontab 指令的執行權力設定
/etc/cron.deny ##使用者黑名單,在此名單中出現的使用者不能執行crontab指令
/etc/cron.allow ##使用者白名單,名單預設不存在,但名單一旦出現,黑名單失效
##系統所有使用者預設不能執行crontab,隻有在名單中出現的使用者可以使用
<a href="https://s2.51cto.com/oss/201711/01/8731d7c7784ebb1ee7997fde34eab635.png-wh_500x0-wm_3-wmp_4-s_978510320.png" target="_blank"></a>
<a href="https://s1.51cto.com/oss/201711/01/603304424920d1f42d627996fdc03bc1.png-wh_500x0-wm_3-wmp_4-s_1652463024.png" target="_blank"></a>
<a href="https://s5.51cto.com/oss/201711/01/34f9bb507f23fb8cfeae269e4f046238.png-wh_500x0-wm_3-wmp_4-s_3435896369.png" target="_blank"></a>
不同使用者執行各自任務
vim /var/spool/cron/root
* * * * * touch /tmp/file{1,2}
vim /var/spool/cron/student
* * * * * touch /tmp/file{3,4}
<a href="https://s5.51cto.com/oss/201711/01/3c1b4de0759b00ce317b22217289f6d3.png-wh_500x0-wm_3-wmp_4-s_853600407.png" target="_blank"></a>
<a href="https://s4.51cto.com/oss/201711/01/1fd4089fd0dbf20b22dd3213ab45d768.png-wh_500x0-wm_3-wmp_4-s_3906730989.png" target="_blank"></a>
3.系統臨時檔案的管理
系統中服務在正常運作時會産生臨時檔案
/usr/lib/tmpfiles.d/*.conf ##系統中臨時檔案的配置
檔案類型 檔案名稱 檔案權限 檔案所有人 檔案所有組 檔案存在時間
d /mnt/westos 777 root root 10s
systemd-tmpfiles --create /usr/lib/tmpfiles.d/* ##執行臨時檔案配置
systemd-tmpfiles --clean /usr/lib/tmpfiles.d/* ##清裡臨時檔案
<a href="https://s4.51cto.com/oss/201711/01/d87c95a39a5c35624c55cc95ec14f69a.png-wh_500x0-wm_3-wmp_4-s_2496774635.png" target="_blank"></a>
<a href="https://s2.51cto.com/oss/201711/01/eae58c63886d2252e8c639c9ba0469d8.png-wh_500x0-wm_3-wmp_4-s_2671441877.png" target="_blank"></a>
<a href="https://s1.51cto.com/oss/201711/01/1538ff2f8c5d072451a41b882cef8620.png-wh_500x0-wm_3-wmp_4-s_3476163277.png" target="_blank"></a>
本文轉自 huanzi2017 51CTO部落格,原文連結:http://blog.51cto.com/13362895/1978214