21.Linux系統中延時任務和定時任務的方法剖析(at、crontab、臨時文件)

1.系統延時任務

是臨時的,採用命令at

at		now+1min
at> rm -rf  /mnt/*                          
at> <EOT>	   ##鍵入延時任務後,ctrl+d執行,(注意:<EOF>是ctrl+d執行時自動生成的)			

at    -l			              ##查看任務列表 
at    -c    任務編號	              ##查看任務內容
at    -r    任務編號	              ##取消任務執行

注意:當我們設定的任務有輸出時,會以郵件的形式發送給配置延時任務的發起者

查看郵件的方法:

mail  -u  root		##查看超級用戶的郵件
1			##查看第一封郵件
q			##退出

2.可以執行at延時任務的黑白名單

配置文件:

vim  /etc/at.deny     ##黑名單
vim /etc/at.allow     ##白名單

系統中默認存在黑名單,不存在白名單。黑名單之內的不可用,其他用戶可用;白名單內的可用,名單之外不可用。

由此可見,白名單比黑名單更加安全,並且白名單存在時黑名單失效。

3.系統的定時任務

定時任務是永久的,命令crontab

1)crontab中時間的表示方式

* 	 * 	 * 	 * 	 *
#分 	#時 	#天 	#月 	#周
##例如:
*     *    *   *  *                  ##每分鐘
*/2   *    *   *  *                  ##每兩分鐘
*/2 09-17  *   *  *                  ##早上9點到下午17點1每兩分鐘
*/2  */2   *   *  *                  ##每隔2小時每兩分鐘
*/2 09-17  3,5 1  5                  ##1月的3號和5號,並且每週5,早上9點到下午17點,每隔2分鐘
*/2 09-17  *   *  5                  ##每週週五早9晚5
/ 	#每隔多久
, 	#幾和幾
- 	#從到什麼到什麼


2)系統控制crontab的服務

systemctl start crond.service     ##服務開啓,定時任務即生效

3)定時任務管理命令

crontab -u root -e		##配置定時任務
crontab -u root -l		##查看root用戶下的定時任務列表
crontab -u root -r		##取消定時任務

4)文件方式設定定時任務

配置文件:

vim /etc/cron.d/file
*  *  *  *  * 	 uesrname 	action
   #時間   	 #用戶名 	 #任務
#例如:
*/2 * * * *  root   rm  -rf /mnt/*

5)crontab定時任務的黑白名單

配置文件:

/etc/cron.deny             ##黑名單:系統中默認存在,在此文件中出現的用戶不能執行crontab
/etc/cron.allow            ##白名單:默認不存在,建立後黑名單失效,名單內可以執行crontab,名單之外不可執行

注意:白名單比黑名單更加安全,白名單建立後黑名單失效,黑白名單都不會影響/etc/cron.d/目錄中定時任務的發起及執行

4.系統中臨時文件的管理方式

cd /usr/lib/tmpfiles.d/
vim westos.conf
##寫入:
d /mnt/westos 777 root root 8s       ##配置westos中的文件在建立8s後才能被清除
systemd-tmpfiles --create /lib/tmpfiles.d/westos.conf    ##執行臨時文件配置
systemd-tmpfiles --clean /lib/tmpfiles.d/westos.conf     ##清楚臨時文件配置

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章