Crontab 命令/新建任務/更新任務/日誌

1. 簡介
通過crontab 命令,我們可以在固定的間隔時間執行指定的系統指令或 shell script腳本。時間間隔的單位可以是分鐘、小時、日、月、周及以上的任意組合。這個命令非常適合週期性的日誌分析或數據備份等工作。

2. 命令格式

crontab [-u user] file crontab [-u user] [ -e | -l | -r ]

3. 命令參數
-u user:用來設定某個用戶的crontab服務;
file:file是命令文件的名字,表示將file做爲crontab的任務列表文件並載入crontab。如果在命令行中沒有指定這個文件,crontab命令將接受標準輸入(鍵盤)上鍵入的命令,並將它們載入crontab。
-e:編輯某個用戶的crontab文件內容。如果不指定用戶,則表示編輯當前用戶的crontab文件。
-l:顯示某個用戶的crontab文件內容,如果不指定用戶,則表示顯示當前用戶的crontab文件內容。
-r:從/var/spool/cron目錄中刪除某個用戶的crontab文件,如果不指定用戶,則默認刪除當前用戶的crontab文件。
-i:在刪除用戶的crontab文件時給確認提示。

4. 文件格式
分 時 日 月 星期 要運行的命令
分鐘0~59
小時0~23(0表示子夜)
日1~31
月1~12
星期0~7(0和7表示星期天)
要運行的命令
中間以空格隔開

5. 命令實例
每1分鐘執行一次myCommand。*號之間用空格隔開

* * * * * myCommand

在上午13點到16點的第3和第15分鐘執行

3,15 13-16 * * * myCommand

每隔兩天的上午8點到11點的第3和第15分鐘執行

3,15 8-11 */2  *  * myCommand

每週一上午8點到11點的第3和第15分鐘執行

3,15 8-11 * * 1 myCommand

每月1、10、22日的3 : 37重啓smb

37 3 1,10,22 * * /etc/init.d/smb restart

每星期六的晚上11 : 00 pm重啓smb

0 23 * * 6 /etc/init.d/smb restart

每一小時執行一次myCommand

* */1 * * * myCommand

晚上11點到早上7點之間,每隔一小時執行一次myCommand

0 23-7 * * * myCommand

6. 創建一個新的crontab文件
創建一個名爲usercron的文件,其中user是用戶名,例如, bishopcron。在該文件中加入如下的內容。

# (put your own initials here)echo the date to the console every
# 15minutes between 6pm and 6am
0,15,30,45 18-06 * * * vi /home/bishop/test.py

注意添加註釋,方便查看具體任務信息

7. 啓動crontab
查看crontab 是否啓動成功,檢測crontab 服務是否啓動:

/etc/init.d/crond status 

沒啓動則要用下面命令:

/etc/init.d/crond start

重啓crond服務,命令爲:

使用 /etc/init.d/crond restart

8. 加入crontab
crontab bishopcron 創建完成或者更新腳本內容之後更新定時作業

9. 查看日誌
更新crontab文件以後,Linux系統會提示形如“You have mail in /var/xxx/mail/xxxx”的內容。
這時,可以使用tail命令跟蹤“/var/xxx/mail/xxxx crontab_file_name”路徑下crontab文件的執行日誌。可以看到相關的報錯或者執行信息。

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