Linux(Debian)中定時任務cron的使用

crontab是通過讀取一個crontab文件來工作,這是一個普通的文本文件,裏面列出了要執行的任務,每行都含有要指定的任務的命令參數與選項,以及要執行任務的時間。cron 軟件在後臺運行並且經常檢查 /etc/crontab 文件。也檢查 /var/cron/tabs 目錄,搜索新的 crontab 文件。這些 crontab 文件存儲一些cron在特定時間執行任務的信息。

  • cron服務每分鐘不僅要讀一次/var/spool/cron內的所有文件,還需要讀一次/etc/crontab,因此我們配置這個文件也能運用 cron服務做一些事情。用crontab配置是針對某個用戶的,而編輯/etc/crontab是針對系統的任務。
  • 所有的crontab文件都保存在/var/spool/cron/crontabs/目錄。然而,因爲普通用戶是無法讀寫這個目錄的,他們必須用crontab命令來加入計劃任務。

 

  • 每次編輯完某個用戶的cron設置後,cron自動在/var/spool/cron下生成一個與此用戶同名的文件,此用戶的cron信息都記錄在 這個文 件中,這個文件是不可以直接編輯的,只可以用crontab -e 來編輯。cron啓動後每過一份鍾讀一次這個文件,檢查是否要執行裏面的命令。因此此文件修改後不需要重新啓動cron服務。
crontab -u //設定某個用戶的cron服務,一般root用戶在執行這個命令的時候需要此參數

crontab -l //列出某個用戶cron服務的詳細內容

crontab -r //刪除每個用戶的cron服務

crontab -e //編輯某個用戶的cron服務

 

  • /etc/cron.hourly,/etc/cron.daily, /etc/cron.weekly, /etc/cron.monthly,通常這些目錄存放規則的計劃任務,在每小時,在每天,每週或者每月間隔執行一次
# run-parts

01 * * * * root run-parts /etc/cron.hourly //每小時執行/etc/cron.hourly內的腳本

02 4 * * * root run-parts /etc/cron.daily //每天執行/etc/cron.daily內的腳本

22 4 * * 0 root run-parts /etc/cron.weekly //每星期執行/etc/cron.weekly內的腳本

42 4 1 * * root run-parts /etc/cron.monthly //每月去執行/etc/cron.monthly內的腳本

注意”run-parts”這個參數了,如果去掉這個參數的話,後面就可以寫要運行的某個腳本名,而不是文件夾名

 

 

調度任務基本格式:

m h  dom mon dow   command

* *   *   *   *    command


幾個星號分別爲:分 時 日 月 周,最後是要執行的命令。
分:0~59
時:0~23
日:1~31
月:1~12
周:0~6(0表示星期天)

除了數字還有幾個個特殊的符號就是* / – :
* 代表所有的取值範圍內的數字
/ 代表每的意思
*/5 表示每5個單位
– 代表從某個數字到某個數字
, 分開幾個離散的數字


配置文件的一些例子:
0 3 * * * /root/test.sh 每天凌晨3點執行test.sh文件

* 23-7/1 * * * /root/lnmp restart 晚上11點到早上7點之間,每隔一小時重啓lnmp套件

*/30 * * * * /usr/sbin/ntpdate 每半小時同步一下時間

0 23 * * 6 /lnmp restart 每星期六的11 : 00 pm重啓重啓lnmp套件。

*/1 * * * * echo “i am running.”>>/tmp/running.txt 每隔1分鐘向/tmp/running.txt寫一個”i am running.”字符串。

 

啓動/etc/init.d/cron start

關閉/etc/init.d/cron stop

重啓/etc/init.d/cron restart

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章