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 的作用。