歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux基礎 >> Linux技術 >> linux crontab定時命令

linux crontab定時命令

日期:2017/3/1 18:09:53   编辑:Linux技術
下面就介紹一下在我們開發過程中經常要用到的crontab命令,以及一些基本的定時任務文件的書寫規則。

  名稱 : crontab

  使用權限 : 所有使用者

  使用方式 :

  crontab filecrontab [ -u user ] [ -u user ] { -l | -r | -e }

  說明 :

  crontab 是用來讓使用者在固定時間或固定間隔執行程式之用,換句話說,也就是類似使用者的時程表。

  -u user : 是指設定指定 user 的時程表,這個前提是你必須要有其權限(比如說是 root)才能夠指定他人的時程表。如果不使用 -u user的話,就是表示設定自己的時程表。

  參數 :

  -e : 執行文字編輯器來設定時程表,內定的文字編輯器是 VI,如果你想用別的文字編輯器,則請先設定 VISUAL 環境變數來指定使用那個文字編輯器(比如說 setenv VISUAL joe)

  注:crontab -e後,會自動將添加的定時任務文件存到/var/spool/cron/tabs/zxin10文件中去(zxin10是用戶名,表示在當前用戶下設置定時任務)

  -r : 刪除目前的時程表

  -l : 列出目前的時程表

  時程表的格式如下 :

  f1 f2 f3 f4 f5 program

  其中 f1 是表示分鐘,f2 表示小時,f3 表示一個月份中的第幾日,f4 表示月份,f5 表示一個星期中的第幾天。program 表示要執行的程式。

  當 f1 為 * 時表示每分鐘都要執行 program,f2 為 * 時表示每小時都要執行程式,其余類推

  當 f1 為 a-b 時表示從第 a 分鐘到第 b 分鐘這段時間內要執行,f2 為 a-b 時表示從第 a 到第 b 小時都要執行,其余類推

  當 f1 為 */n 時表示每 n 分鐘個時間間隔執行一次,f2 為 */n 表示每 n 小時個時間間隔執行一次,其余類推

  當 f1 為 a, b, c,... 時表示第 a, b, c,... 分鐘要執行,f2 為 a, b, c,... 時表示第 a, b, c...個小時要執行,其余類推

  使用者也可以將所有的設定先存放在檔案 file 中,用 crontab file 的方式來設定時程表。

  使用方法:

  用vi編輯一個文件cronfile,然後在這個文件中輸入格式良好的時程表。編輯完成後,保存並退出。

  在命令行輸入

  xxxxxx@linux: crontab cronfile

  這樣就將cronfile文件提交給cron進程,同時,新創建cronfile的一個副本已經被放在/var/spool/cron目錄中,文件名就是用戶名。

  注:crontab cronfile操作後會將原來存在/var/spool/cron目錄下用戶名的文件中的信息覆蓋掉。

  例子:

  */5 * * * * /home/zxin10/batchoperate/batch_oper.sh 每五分鐘執行一次batch_oper.sh 腳本

  注意: 當程式在你所指定的時間執行後,系統會寄一封信給你,顯示該程式執行的內容,若是你不希望收到這樣的信,請在每一行空一格之後加上>/dev/null 2>&1 即可。
Copyright © Linux教程網 All Rights Reserved