重新點亮shell————週期性指令碼[八]
阿新 • • 發佈:2022-01-02
前言
簡單介紹一下週期性指令碼
正文
週期性指令碼之前先介紹一下訊號。
捕獲訊號指令碼的編寫:
kill 預設會發送15號訊號給應用程式
ctrl+c 傳送2號訊號給應用程式
9號訊號不可阻塞訊號
所以只有kill -9 才是強殺,其他的可以進行捕獲,然後不殺死。
例如捕獲15號訊號:
trap "echo sig 15" 15,這樣就捕獲了,就不會殺死程序了。
一次性執行任務
at 18:31 這樣就是在18:31分的時候進行執行。
然後可以通過atq,進行查詢哪些任務將會被執行。
週期性執行任務
cron
配置方式
crontab -e
檢視現有的計劃任務
crontab -l
配置格式:
分鐘 小時 日期 月份 星期 執行的命令
注意命令的路徑問題
通過ls /var/spool/cron/
可以檢視到某個使用者的在執行哪些週期性任務。
然後再介紹一下給指令碼加鎖,為什麼要給指令碼加鎖呢?
如果計算機不能按照預期時間執行,比如說有一臺機器晚上0點鐘要做備份,但是呢在11:59的時候,機器宕機了,這個時候2分鐘後恢復了,但是錯過了這個0點時間,那麼怎麼辦呢?
如果計算機不能按照預期時間執行:
anacrontab 延時計劃任務
flock 鎖檔案
這兩個可以幫忙解決這個問題。
結
下一節文字搜尋