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定時任務cron/crontab完整使用指南

編輯:Linux 教學

cron是Linux內建的定時任務排程服務,透過crontab命令編輯任務表,實現腳本、備份、清理等自動化執行。本文涵蓋服務管理、語法規則、範例與進階技巧。

服務管理

systemctl start crond      # 啟動(systemd系統)
systemctl enable crond     # 開機自啟
systemctl status crond     # 查看狀態
# 傳統SysV
/sbin/service crond start|stop|restart|reload

crontab命令選項

選項功能
-u user指定用戶(需root)
-l列出任務
-r刪除所有任務
-e編輯任務(進入編輯器)

任務語法

* * * * *  command
分 時 日 月 週
欄位範圍說明
分0-59
時0-23
日1-31
月1-12
週0-70或7=週日,1=週一...

特殊符號

  • *:所有合法值
  • /n:每n單位(如*/15 = 每15分鐘)
  • -:範圍(8-11 = 8到11點)
  • ,:離散列表(10,20 = 10號與20號)

常見範例

5 * * * * ls                    # 每小時第5分
30 5 * * * ls                   # 每天05:30
30 7 8 * * ls                   # 每月8號07:30
30 5 8 6 * ls                   # 6月8日05:30
30 6 * * 0 ls                   # 每週日06:30
30 3 10,20 * * ls               # 每月10、20號03:30
25 8-11 * * * ls                # 08-11點每小時第25分
*/15 * * * * ls                 # 每15分鐘
30 6 */10 * * ls                # 每月1、11、21、31號06:30
50 7 * * * root run-parts /etc/cron.daily  # 系統每日任務

兩種配置方式

  1. 用戶級:crontab -e編輯/var/spool/cron/username。
  2. 系統級:編輯/etc/crontab,多user欄位,支援run-parts執行目錄下所有可執行檔。
    SHELL=/bin/bash
    PATH=/sbin:/bin:/usr/sbin:/usr/bin
    MAILTO=root
    HOME=/
    01 * * * * root run-parts /etc/cron.hourly
    02 4 * * * root run-parts /etc/cron.daily
    22 4 * * 0 root run-parts /etc/cron.weekly
    42 4 1 * * root run-parts /etc/cron.monthly
    

輸出重導向與除錯

30 5 * * * ls >/tmp/ls.log 2>&1   # 標準輸出與錯誤合併寫入檔案
# 查看執行日誌
grep CRON /var/log/syslog

新增/刪除/查看任務快速入口

crontab -e          # 新增/編輯
crontab -l          # 查看
crontab -r          # 刪除全部
crontab -u jp -l    # 查看指定用戶(root)

善用cron將重複性運維工作自動化,是Linux系統管理的核心技能之一。

Copyright © Windows教程網 All Rights Reserved