Windows XP Windows 7 Windows 2003 Windows Vista Windows 綜合教學 Linux 系統教學
Windows 10 Windows 8 Windows 2008 Windows NT Windows Server 電腦軟體教學

Linux 定時任務神器 crontab 完全指南

編輯:Linux 系統常見問題解答

crontab 讓系統按排程自動執行命令,是運維自動化的基石。本文系統整理常用參數、時間格式與豐富範例,助你快速上手。

常用管理命令

命令說明
crontab -u <user>設定指定使用者的排程(需 root)
crontab -l列出目前使用者的排程
crontab -r刪除目前使用者的排程
crontab -e編輯排程(類 vi 操作)

時間欄位格式

*    *    *    *    *    command
分   時   日   月   周   命令
  • 分:0-59,* 或 */1 表每分鐘
  • 時:0-23(0 表午夜)
  • 日:1-31
  • 月:1-12
  • 周:0-6(0/7 表週日)

特殊符號:, 列舉、- 範圍、/ 步長、* 任意。

實戰範例集

排程含義
30 21 * * * /etc/init.d/smb restart每晚 21:30 重啟 smb
45 4 1,10,22 * * /etc/init.d/smb restart每月 1、10、22 日 04:45 重啟
10 1 * * 6,0 /etc/init.d/smb restart每週六、日 01:10 重啟
0,30 18-23 * * * /etc/init.d/smb restart每天 18:00-23:00 每半小時重啟
0 23 * * 6 /etc/init.d/smb restart每週六 23:00 重啟
0 */1 * * * /etc/init.d/smb restart每小時重啟(注意:* */1 會變每分鐘)
0 23-7/1 * * * /etc/init.d/smb restart23:00-07:00 每小時重啟
0 11 4 * mon-wed /etc/init.d/smb restart每月 4 號及每週一至三 11:00 重啟
0 4 1 jan * /etc/init.d/smb restart1 月 1 日 04:00 重啟

避坑指南

  • 命令務必使用絕對路徑(如 /usr/bin/python3),環境變數極少。
  • 輸出重導向:>/dev/null 2>&1 抑制郵件通知;或導向日誌 >>/var/log/mytask.log 2>&1。
  • 執行前先手動測試命令是否正確。
  • 系統級排程請編輯 /etc/crontab 或放入 /etc/cron.d/,並指定使用者欄位。

善用 crontab,讓重複性工作自動化,運維更從容。

Copyright © Windows教程網 All Rights Reserved