轉載請註明出處:
在伺服器中需要建立一個定時任務,每天執行去清理很早之前備份的檔案,所以想到在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