1. 定時任務種類
linux下分為系統任務排程和使用者任務排程兩種。
系統任務排程支援兩種方式。乙個是集中式的,配置檔案位於/etc/crontab檔案,但建議不要直接編輯。
乙個位於/etc/cron.d/目錄下面,支援多個檔案。一般安裝某些軟體的時候會在這個目錄下自動配置一些定時任務。
2. 定時任務寫法
# ┌───────────── minute (0 - 59)
# │ ┌───────────── hour (0 - 23)
# │ │ ┌───────────── day of the month (1 - 31)
# │ │ │ ┌───────────── month (1 - 12)
# │ │ │ │ ┌───────────── day of the week (0 - 6) (sunday to saturday;
# │ │ │ │ │ 7 is also sunday on some systems)
# │ │ │ │ │
# │ │ │ │ │
# * * * * * (user) command to execute
# minute hour dayofmonth month dayofweek (user) command
* * * * * user1 /bin/echo "sample cmd1" >> /tmp/etc_crontab_d
minute: 表示分鐘,可以是從0到59之間的任何整數。
hour:表示小時,可以是從0到23之間的任何整數。
dayofmonth:表示日期,可以是從1到31之間的任何整數。
month:表示月份,可以是從1到12之間的任何整數。
dayofweek:表示星期幾,可以是從0到7之間的任何整數,這裡的0或7代表星期日。
command:要執行的命令,可以是系統命令,也可以是自己編寫的指令碼檔案。
user: 如果是系統定時任務,需要指明執行定時任務的使用者id,如果是使用者定時任務,則不需要本項。
在以上各個欄位中,還可以使用以下特殊字元:
星號(*):代表所有可能的值,例如month欄位如果是星號,則表示在滿足其它欄位的制約條件後每月都執行該命令操作。
逗號(,):可以用逗號隔開的值指定乙個列表範圍,例如,「1,2,5,7,8,9」
中槓(-):可以用整數之間的中槓表示乙個整數範圍,例如「2-6」表示「2,3,4,5,6」
正斜線(/):可以用正斜線指定時間的間隔頻率,例如「0-23/2」表示每兩小時執行一次。同時正斜線可以和星號一起使用,例如*/10,如果用在minute欄位,表示每十分鐘執行一次。
3. 檢視系統級定時任務內容
cat /etc/crontab
下面是輸出例子
4. 檢視使用者定時任務
crontab -l
5. 編輯使用者定時任務crontab -e
6. 刪除使用者定時任務
最好在刪除之前做好備份。備份物件位置參考《定時任務配置檔案位置》。本方法慎用。
crontab -r
7. 定時任務啟動、關閉,重啟,重載入
服務操作說明:
service crond start //啟動服務
service crond stop //關閉服務
service crond restart //重啟服務
service crond reload //重新載入配置
新建立的cron job,不會馬上執行,至少要過2分鐘才執行。如果重啟cron則馬上執行。
8. 定時任務執行狀態
檢視cron服務狀態:
service crond status
#正常情況下輸出結果例子
crond (pid 3290) is running...
#非正常情況下輸出結果例子
● crond.service
loaded: not-found (reason: no such file or directory)
active: inactive (dead)
9. 日誌檔案位置
預設的日誌輸出到:
/var/log/syslog
可以使用下面的命令得到所有cron日誌:
grep cron /var/log/syslog
如果有簡單配置,可以把cron的日誌單獨輸出到下面的檔案:
/var/log/cron
10. 定時任務配置檔案位置
11. 啟用日誌檔案(ubuntu)
ubuntu的情況下,編輯下面的檔案,可以將原本輸出到syslog裡面的cron執行日誌輸出到cron.log裡面。
/etc/rsyslog.d/50-default.conf
nano /etc/rsyslog.d/50-default.conf
...
#cron.* /var/log/cron.log
...
去掉上面的那一行的#,就可以為cron建立自己的日誌檔案。
注意還要重啟一下syslog,才能起作用。
service rsyslog restart
Linux定時任務計畫
linux定時任務計畫 在使用linux系統時,我們有時會需要讓系統在某個時間去執行特定的任務,這時就需要去了解linux提供的定時任務功能 種類linux的定時任務分為兩種 單一型和迴圈型 單一型 at atd啟動 at 是乙個可以處理僅執行一次就結束的命令,執行at時,必須開啟atd服務.使用 ...
Linux定時任務計畫
linux定時任務計畫 在使用linux系統時,我們有時會需要讓系統在某個時間去執行特定的任務,這時就需要去了解linux提供的定時任務功能 種類linux的定時任務分為兩種 單一型和迴圈型 單一型 at atd啟動 at 是乙個可以處理僅執行一次就結束的命令,執行at時,必須開啟atd服務.使用 ...
Linux定時(計畫)任務
1 概念 未來的某時間點執行一次某任務或者週期性的執行某個任務,執行結果會通過郵件的形式傳送給使用者 2 可將其分為兩類 1 定點執行一次某任務 at,batch 2 週期性的執行某任務 crontab 1.1 使用者及系統定時任務 crond是linux下用來週期性的執行某種任務或等待處理某些事件...