Linux定時任務實例

在前一篇文章中說了對於定時任務的基本操作,這次用具體的例子再來說明一下

目錄

0x01 一般步驟

0x02 實例

0x01 一般步驟

一般在製作定時任務的時候都走一下幾步,為了避免出現錯誤情況

1.命令行操作,首先在命令行下確保命令可執行

2.腳本製作,一般都將所有的操作命令寫成腳本來進行操作

3.測試腳本,確保腳本執行無誤

4.配置定時任務,製作最後的定時任務

0x02 實例

備份/etc/hosts,/etc/rc.local,/var/spool/cron/crontabs/root文件,以壓縮包形式備份到/root下,要求每天備份一次,每天凌晨3點15分執行

這裡插一句/var/spool/cron/crontabs/root,這個裡面儲存存放了root計劃任務的內容

我們先在命令行進行執行

先說一個不建議的做法

這樣打包的話,再解壓的時候會直接放到根目錄下了,所以一般都是cd到所有打包文件的上一層目錄,然後進行打包

命令行完成之後,將命令寫入腳本

接下來再測試一下腳本

最後將它寫入定時任務

那如果定時任務出錯了呢,可以去定時任務的日誌中來進行查看

但是需要注意一下,Debian默認沒有開啟cron的日誌功能,需要到/etc/rsyslog.conf中去掉注釋

然後重啟log服務

就可以看到執行的日誌了

容易出故障的情況有以下幾種,在設置的時候還是注意一下

1.如果在設置定時任務的時候,結尾未加&>/dev/null可能會產生大量文件,佔用大量inode

2.如果直接在命令行執行的話date +%F將會出現問題,百分號是必須要進行轉義的,所以建議在腳本中運行

3.定時任務腳本中如果有環境變數,必須重新定義,在profile中設置了環境變數,在定時任務的時候還是會出現未定義的情況,所以一定要在腳本文件中先將環境變數重寫一遍

滲透雲筆記作者團

如果對你有幫助,請點擊在看或者轉發