linux 使用crontab 建立定時任務

2023-11-09 06:01:05

轉載請註明出處:

  在伺服器中需要建立一個定時任務,每天執行去清理很早之前備份的檔案,所以想到在linux上建立一個shell指令碼,通過linux的 crontab 命令定時去執行該shell指令碼,從而實現定時清理伺服器檔案。

  crontab是Linux系統中用於排程任務的命令,它允許使用者在固定的間隔時間執行命令或指令碼。

特性

  • crontab可以在沒有使用者互動的情況下執行任務,這使得它非常適合自動化和後臺任務。
  • crontab可以設定多個不同的任務,每個任務都有自己的排程時間。
  • crontab支援在特定的日期和時間執行任務,例如,你可以設定在每個月的最後一天執行一個任務。
  • crontab支援在特定的時間間隔執行任務,例如,你可以設定每小時執行一次任務。
  • crontab可以在系統重啟後自動恢復任務。

使用場景

  • 系統維護:例如,定期清理系統紀錄檔,備份資料庫等。
  • 資料分析:例如,定期執行資料分析指令碼,生成報告等。
  • 網路任務:例如,定期檢查網路連線,傳送郵件通知等。

crontab命令的基本語法如下:

*    *    *  *   *       command to be executed
-    -    -  -   -
|    |    |  |   |
|    |    |  |   +----- day of the week (0 - 6) (Sunday=0)
|    |    |  +------- month (1 - 12)
|    |    +--------- day of the month (1 - 31)
|    +----------- hour (0 - 23)
+------------- min (0 - 59)

  例如,如果想每天的早上5點執行一個指令碼,可以使用以下的crontab命令:

0 5 * * * /path/to/command/script.sh

  如果想在每個月的最後一天執行一個指令碼,可以使用以下的crontab命令:

0 0 1 * * /path/to/command/script.sh

  每小時執行一次指令碼

0 * * * * /path/to/command/script.sh

  要編輯crontab檔案,你可以使用crontab -e命令。這將開啟一個文字編輯器,你可以在其中新增、修改或刪除任務。例如:

crontab -e

  這將開啟一個文字編輯器,可以在其中新增、修改或刪除任務。例如,可以新增以下行來每天的早上5點執行一個指令碼:

0 5 * * * /path/to/command/script.sh

  然後儲存並退出編輯器,新的任務將在下一個預定的時間點執行。

  儲存成功的定時任務組態檔 在/var/spool/cron/下面 :

                   

  需要注意的是,你需要給你的指令碼新增執行許可權,才能讓 cron 執行這個指令碼。

chmod +x /path/to/script.sh