本文提供如何在 RedHat Enterprise Linux (RHEL) 6 上設定 cron 工作的相關資訊。
Cron 工作可讓系統管理員排程工作。您可以透過各種方式設定這些排程工作。本文將涵蓋使用「cron」目錄和使用「crontab」。
目錄:
1.Cron 目錄
2.Crontab
1.Cron 目錄
- 有四個 cron 目錄:
- /etc/cron.hourly/
- /etc/cron.daily/
- /etc/cron.weekly/
- /etc/cron.monthly/
- 這些目錄中的指令檔將定期執行 (每小時、每天、每週或每月)
- 最適合不需要在特定日期或特定時間執行的排程工作。
- 將指令檔複製到對應的資料夾
- 確保指令檔具有 755 或 -rwxr-xr-x 的檔案權限
- # chmod 755 scriptfile.sh
- 預設:
- /etc/cron.daily starts at 0305 (3:05 AM)
- /etc/cron.weekly starts at 0325 (3:25 AM)
- /etc/cron.monthly starts at 0345 (3:45 AM)
- 檢視您目前的組態:
- # cat /etc/anacrontab
- 使用您最喜愛的編輯器編輯「/etc/anacrontab」
- 變更您的組態:
- 指令檔在這些目錄中執行的時機:
2.Crontab
- 系統管理員可以使用 crontab 建立 cron 工作,以排程在特定日期和時間執行工作
- 使用 crontab 與使用「vi」編輯器相同
- 使用方式:
- 編輯 cron 工作:
- 列出目前登入使用者的 cron 工作:
- # crontab -l
- # crontab -l -u username
注意:將「username」更換為對應的使用者。
- # crontab -r
- # crontab -r -u username
注意:將「username」更換為對應的使用者。
- 列出不同使用者的 cron 工作:
- 移除目前登入使用者的 cron 工作:
- 移除不同使用者的 cron 工作:
- M H D Mo W /path/to/script
- M = 分鐘 (00 到 59)
- H = 小時 (00 到 23)
- D = 一月的某日 (01 到 31)
- Mo = 月 (01 到 12)
- W = 一週的某天 (0 到 60 = 週日)
- 使用「*」代表每小時、每天等
- 範例:
- 30 02 15 6 * /root/scriptfile.sh
- 在 6 月 15 日的 2:30AM 執行「/root/scriptfile.sh」
- 30 02 * * 0 /root/scriptfile.sh
- 在每個週日的 2:30AM 執行「/root/scriptfile.sh」
- 範例:
- 30 02.14 15 6 * /root/scriptfile.sh
- 在 6 月 15 日的 2:30AM 與 2:30PM 執行「/root/scriptfile.sh」
- 範例:
- 30 02-05 * * 0 /root/scriptfile.sh
- 在每個週日的 2:30AM、3:30AM、4:30AM 和 5:30AM 執行「/root/scriptfile.sh」
- @yearly - 每年執行指令檔
- @monthly - 每月執行指令檔
- @weekly - 每週執行指令檔
- @daily - 每天執行指令檔
- @hourly - 每小時執行指令檔
- @reboot - 每次重新開機時執行指令檔
- 使用這些變數,而非 M H D Mo W 格式
- 範例:
- @monthly /root/scriptfile.sh
- 在每個月的第一天執行「/root/scriptfile.sh」
- 範例:
- 使用「,」以表示多個小時、天等
- 使用「-」延長小時、天等
- 其他變數:
- 格式化項目:
回到頁首