CRONTAB是一個用於設置周期性被執行的任務的工具,有了它,我們就可以從定時工作中解放出來。 一 : 檢查CRONTAB服務 1. 檢查CRONTAB工具是否已經在主機上安裝 : crontab -l (當然後面會介紹它真正的用途) 2. 檢查CRONTAB服務是否已經啟動 : service c ...
CRONTAB是一個用於設置周期性被執行的任務的工具,有了它,我們就可以從定時工作中解放出來。
一 : 檢查CRONTAB服務
1. 檢查CRONTAB工具是否已經在主機上安裝 : crontab -l (當然後面會介紹它真正的用途)
2. 檢查CRONTAB服務是否已經啟動 : service crond status(其實這個命令還可以檢查其他服務,例如 service httpd status 檢測apache是否在運行)
3. 安裝:yum install crontabs
二 : 命令功能
通過crontab 命令,我們可以在固定的間隔時間執行指定的系統指令或 shell script腳本。時間間隔的單位可以是分鐘、小時、日、月、周及以上的任意組合。這個命令非常設合周期性的日誌分析或數據備份等工作。
三 : 命令參數
1. -u user:用來設定某個用戶的crontab服務,例如,“-u ixdba”表示設定ixdba用戶的crontab服務,此參數一般有root用戶來運行。
-
file:file是命令文件的名字,表示將file做為crontab的任務列表文件並載入crontab。如果在命令行中沒有指定這個文件,crontab命令將接受標準輸入(鍵盤)上鍵入的命令,並將它們載入crontab。
-
-e:編輯某個用戶的crontab文件內容。如果不指定用戶,則表示編輯當前用戶的crontab文件。(常用)
-
-l:顯示某個用戶的crontab文件內容,如果不指定用戶,則表示顯示當前用戶的crontab文件內容。(常用)
-
-r:從/var/spool/cron目錄中刪除某個用戶的crontab文件,如果不指定用戶,則預設刪除當前用戶的crontab文件。
-
-i:在刪除用戶的crontab文件時給確認提示。
下麵是兩個最常用的命令:
crontab -l 查看當前的任務列表,其實就是crontab文件的內容
crontab -e 打開定時任務列表文件,進行編輯
四 : crontab文件說明
用戶所建立的crontab文件中,每一行都代表一項任務,每行的每個欄位代表一項設置,它的格式共分為六個欄位,前五段是時間設定段,第六段是要執行的命令段,格式如下:
minute hour day month week command
其中:
- minute: 表示分鐘,可以是從0到59之間的任何整數。
- hour:表示小時,可以是從0到23之間的任何整數。
- day:表示日期,可以是從1到31之間的任何整數。
- month:表示月份,可以是從1到12之間的任何整數。
- week:表示星期幾,可以是從0到7之間的任何整數,這裡的0或7代表星期日。
- command:要執行的命令,可以是系統命令,也可以是自己編寫的腳本文件。
其實用一張圖就能更好理解了
五 : 常用實例
實例1:每1分鐘執行一次command
命令:
* * * * * command
實例2:每小時的第3和第15分鐘執行
命令:
3,15 * * * * command
實例3:在上午8點到11點的第3和第15分鐘執行
命令:
3,15 8-11 * * * command
實例4:每隔兩天的上午8點到11點的第3和第15分鐘執行
命令:
3,15 8-11 */2 * * command
實例5:每個星期一的上午8點到11點的第3和第15分鐘執行
命令:
3,15 8-11 * * 1 command
實例6:每晚的21:30重啟smb
命令:
30 21 * * * /etc/init.d/smb restart
實例7:每月1、10、22日的4 : 45重啟smb
命令:
45 4 1,10,22 * * /etc/init.d/smb restart
實例8:每周六、周日的1 : 10重啟smb
命令:
10 1 * * 6,0 /etc/init.d/smb restart
實例9:每天18 : 00至23 : 00之間每隔30分鐘重啟smb
命令:
0,30 18-23 * * * /etc/init.d/smb restart
實例10:每星期六的晚上11 : 00 pm重啟smb
命令:
0 23 * * 6 /etc/init.d/smb restart
實例11:每一小時重啟smb
命令:
* */1 * * * /etc/init.d/smb restart
實例12:晚上11點到早上7點之間,每隔一小時重啟smb
命令:
* 23-7/1 * * * /etc/init.d/smb restart
實例13:每月的4號與每周一到周三的11點重啟smb
命令:
0 11 4 * mon-wed /etc/init.d/smb restart
實例14:一月一號的4點重啟smb
命令:
0 4 1 jan * /etc/init.d/smb restart
實例15:每30秒執行/etc/cron.hourly目錄內的腳本
命令:
*/1 * * * * root run-parts /etc/cron.hourly
*/1 * * * * sleep 30s ; root run-parts /etc/cron.hourly
轉:https://blog.csdn.net/baidu_30000217/article/details/51100172