1. 程式人生 > 實用技巧 >crontab極簡教程

crontab極簡教程

目錄

crontab簡介

Linux crontab是用來定期執行程式的命令。

當安裝完成作業系統之後,預設便會啟動此任務排程命令。

crontab常用命令

  • crontab -e
    開啟vi編輯器,編寫一個定時任務,退出vi後,若vi內容不為空,則會建立一個任務。

  • crontab -l
    檢視當前已經建立的定時任務

  • crontab -r
    刪除當前使用者建立的定時任務。一般刪除定時任務不這樣操作,而是使用crontab -e 命令開啟任務,將任務內容清空,儲存並退出之後,該任務就刪除了。

  • tail -f /var/log/cron
    檢視任務執行的日誌

示例

建立兩個定時任務。第一個,一分鐘執行一次,使用echo輸出一串字元;第二個,兩分鐘執行一次,使用echo輸出另一串字元。

  • 建立任務

在linux 的shell 中輸入crontab -e 命令

在開啟的vi編輯器中輸入以下內容:

* * * * *  echo "Once a minute"

*/2 * * * *  echo "Execute once every two minutes"


儲存並退出

  • 檢視剛才建立的定時任務

在linux 的 shell 中輸入crontab -l 命令

能輸出上述vi中的內容,說明任務建立成功

  • 檢視任務執行日誌

在linux的shell中輸入tail -f /var/log/cron 命令

可以看到類似如下的輸出:


Oct 14 20:28:01 v2 CROND[2764]: (root) CMD (echo "Execute once every two minutes")
Oct 14 20:28:01 v2 CROND[2765]: (root) CMD (echo "Once a minute")
Oct 14 20:28:01 v2 CROND[2762]: (root) MAIL (mailed 9 bytes of output but got status 0x004b#012)
Oct 14 20:28:01 v2 CROND[2763]: (root) MAIL (mailed 9 bytes of output but got status 0x004b#012)
Oct 14 20:28:06 v2 crontab[2853]: (root) LIST (root)
Oct 14 20:29:01 v2 CROND[3830]: (root) CMD (echo "Once a minute")
Oct 14 20:29:01 v2 CROND[3827]: (root) MAIL (mailed 9 bytes of output but got status 0x004b#012)
Oct 14 20:30:01 v2 CROND[4871]: (root) CMD (/usr/lib64/sa/sa1 1 1)
Oct 14 20:30:01 v2 CROND[4875]: (root) CMD (echo "Execute once every two minutes")
Oct 14 20:30:01 v2 CROND[4876]: (root) CMD (echo "Once a minute")
Oct 14 20:30:01 v2 CROND[4870]: (root) MAIL (mailed 9 bytes of output but got status 0x004b#012)
Oct 14 20:30:01 v2 CROND[4869]: (root) MAIL (mailed 9 bytes of output but got status 0x004b#012)
Oct 14 20:31:01 v2 CROND[6010]: (root) CMD (echo "Once a minute")
Oct 14 20:31:01 v2 CROND[6009]: (root) MAIL (mailed 9 bytes of output but got status 0x004b#012)
Oct 14 20:32:01 v2 CROND[7043]: (root) CMD (echo "Execute once every two minutes")
Oct 14 20:32:01 v2 CROND[7044]: (root) CMD (echo "Once a minute")
Oct 14 20:32:01 v2 CROND[7041]: (root) MAIL (mailed 9 bytes of output but got status 0x004b#012)
Oct 14 20:32:01 v2 CROND[7042]: (root) MAIL (mailed 9 bytes of output but got status 0x004b#012)
Oct 14 20:33:01 v2 CROND[8130]: (root) CMD (echo "Once a minute")
Oct 14 20:33:01 v2 CROND[8129]: (root) MAIL (mailed 9 bytes of output but got status 0x004b#012)
Oct 14 20:34:01 v2 CROND[9158]: (root) CMD (echo "Once a minute")
Oct 14 20:34:01 v2 CROND[9159]: (root) CMD (echo "Execute once every two minutes")
Oct 14 20:34:01 v2 CROND[9157]: (root) MAIL (mailed 9 bytes of output but got status 0x004b#012)
Oct 14 20:34:01 v2 CROND[9156]: (root) MAIL (mailed 9 bytes of output but got status 0x004b#012)
Oct 14 20:35:01 v2 CROND[10255]: (root) CMD (echo "Once a minute")
Oct 14 20:35:01 v2 CROND[10254]: (root) MAIL (mailed 9 bytes of output but got status 0x004b#012)
Oct 14 20:36:01 v2 CROND[11251]: (root) CMD (echo "Once a minute")
Oct 14 20:36:01 v2 CROND[11250]: (root) CMD (echo "Execute once every two minutes")
Oct 14 20:36:01 v2 CROND[11249]: (root) MAIL (mailed 9 bytes of output but got status 0x004b#012)