crontab的用法---linux定時任務

Step 1:
    使用命令crontab -e編輯一個定時執行的任務或在/var/spool/cron/crontabs目錄下新建一個與自己用戶名相同的任務.
    即:
    #每隔一分鐘執行一次後臺程序tmpmail
    * * * * * /home/milch/tmpmail

     順便提一下crontab中的命令格式:
     第一個 * 表示分鐘 (0-59),
     第二個 * 表示小時 (0-23),
     第三個 * 表示月份中的某一天 (1-31),
     第四個 * 表示一年中的某一月 (1-12),
     第五個 * 表示一週中的星期幾 (0-6 with 0=Sunday).

Step 2:
     停止cron進程,並重啓,
     命令:/etc/init.d/cron stop
     /etc/init.d/cron start

-------------------------------------------------------------------------
指令語法
crontab [ -u user ] file
crontab [ -u user ] { -l | -r | -e }

指令說明
crontab 提供我們在固定的間隔時間執行自訂的程式、系統指令或 shell secrip。時間間隔的單位可以是分鐘、小時、日、週、月及以上的任意組合。允許使用者離線執行,並且可以將執行結果以 email 通知使用者。因此,非常設合對週期性的管理分析或資料備份等工作。

基本上,crontab 的指令格式分為六個部分,前五個為時間間隔,最後則是執行的指令。每一個部分用空格來區隔。

分 -- 0-59
時 -- 0-23
日 -- 1-31
月 -- 1-12 或使用英文名稱
星期 -- 0-7 或使用英文名稱
工作命令 -- 指令,shell script,程式....(建議使用絕對路徑)
以上是 crontab 的基本格式。

選項說明

-u user
以指定的使用者身份,執行 crontab 工作。此選項僅供 root 使用。

-l
顯示使用者現行的 crontab 檔。

-r
移除現行的 crontab 檔。

-e
進入 vi 編輯 crontab 檔(如有設定 VISUAL 或 EDITOR 環境變數,怎使用該環境變數所設定的編輯器來編輯)。在使用者退出編輯器後,會自動將所編輯 crontab 檔,置入 crontab 執行。
相關檔案

/etc/cron.allow
/etc/cron.deny

實例說明
# crontab -l
# DO NOT EDIT THIS FILE - edit the master and reinstall.
# (/tmp/crontab.3672 installed on Thu Jan 1 15:55:18 2004)
# (Cron version -- $Id: crontab.c,v 2.13 1994/01/17 03:20:37 vixie Exp $)
0 0-23/6 * * * /usr/bin/webalizer
30 3 * * * /root/fbin/bak-web
#

先前曾提到,crontab 的格式分成六個部分,前五個是時間參數。在上例中你會發現除了數字與英文名稱,有使用到符號"*",這個符號代表每一單位的意思,譬如 30 3 * * * 既代表 30分 3點 每日 每月 星期的每天。

時間的指定,可以是單一的數字,或幾個數字用逗號來連接。看下例

30 3,12 * * * /root/fbin/bak-web
其中的第二項為 3,12,這代表 3 以及 12 小時的意思。再來看下例

30 */6 * * * /root/fbin/bak-web
我把第二項改成 */6 這代表每 6 小時,也相當於 6,12,18,24 的作用。此外還有一個區段的做法

30 8-18/2 * * * /root/fbin/bak-web
我把第二項改成 8-18/2 這代表在 8 小時到 18 小時之間每 2 小時,也相當於 8,10,12,14,16,18 的作用。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章