Windows XP Windows 7 Windows 2003 Windows Vista Windows 綜合教學 Linux 系統教學
Windows 10 Windows 8 Windows 2008 Windows NT Windows Server 電腦軟體教學
您现在的位置: Windows教程網 >> Windows教程 >  >> Linux 系統教學 >> Linux 教學

Linux crontab 定時任務完整使用指南

編輯:Linux 教學

前言

crontab 是 Linux 系統內建的排程服務,讓使用者能以精確的時間表自動執行腳本或指令。無論是備份、日誌輪轉、監控掃描,皆離不開它。本文完整涵蓋指令語法、時間格式、實用範例與常見陷阱。

一、基本指令操作

指令功能
crontab -e編輯當前使用者排程(預設 vi,可設 VISUAL 環境變數)
crontab -l列出當前排程
crontab -r刪除當前排程
crontab -u user file以 root 身分管理指定使用者排程
crontab file以檔案內容取代目前排程

二、時間欄位格式詳解

分 時 日 月 週  指令
*  *  *  *  *  command
欄位範圍特殊符號說明
分0-59* , - /每分鐘、列舉、範圍、間隔
時0-23* , - /同上
日1-31* , - / ?? 僅用於日/週互斥
月1-12* , - /可用英文縮寫 jan,feb...
週0-7* , - /0 或 7 皆為週日,可用 mon,tue...

符號範例

  • *:每單位皆執行
  • a-b:從 a 到 b
  • */n:每 n 單位間隔
  • a,b,c:離散列舉

三、實戰範例集錦

需求排程寫法說明
每天 07:00 執行 /bin/ls0 7 * * * /bin/ls固定時間
12 月每天 06:00-12:00 每 3 小時備份0 6-12/3 * 12 * /usr/bin/backup範圍+間隔
週一至週五 17:00 寄信0 17 * * 1-5 mail -s "hi" user@domain < /tmp/maildata週期列舉
每 2 小時輸出一次0 */2 * * * date間隔執行
每月 4 號及週一至三 11:000 11 4 * mon-wed date日+週複合

四、輸出重導向與靜默執行

預設執行輸出會郵件通知使用者。若不需郵件,請在每行結尾加上:

> /dev/null 2>&1

範例:0 7 * * * /bin/ls > /dev/null 2>&1

五、常見坑點與最佳實踐

  1. 環境變數:cron 執行環境極簡,腳本內務必使用絕對路徑(指令、檔案),並建議在腳本開頭 source /etc/profile。
  2. 權限:腳本需具備執行權限(chmod +x)。
  3. 日誌:重要任務建議自行導向日誌檔:> /var/log/mytask.log 2>&1。
  4. 測試:先用 date 或 echo 驗證時間觸發,再換上真實腳本。
  5. 系統級排程:/etc/crontab 與 /etc/cron.d/ 需指定執行使用者欄位。

總結

熟練掌握「五顆星」時間語法與 crontab -e/l/r 三大指令,即能輕鬆自動化維運任務。記得:絕對路徑、靜默輸出、自帶日誌 是穩定排程的三寶。

Copyright © Windows教程網 All Rights Reserved