cron 的安裝、配置和使用

cron—計劃任務工具的配置和使用。

1、何爲計劃任務?

   計劃任務,是任務在約定的時間執行已經計劃好的工作,這是表面的意思。在Linux中,我們經常用到 crond 服務器來完成這項工作。cron服務器可以根據配置文件約定的時間來執行特定的作務。比如我們可以在配置文件中約定每天早上3點,對計算機進行重新啓動,這就是一個計劃任務。

2、安裝corn:

—在redhat或fedora中cron一般是默認安裝的。我們可以通過查詢軟件包來查看其是否已經安裝。

rpm -qa | grep cron ;

也可以列出某個軟件包的詳細列表。

rpm -ql  <包名>

—如果沒有安裝,我們需要插入安裝光盤,或者是載入安裝鏡像文件。

rpm -ivh cron*

也可通過yum來安裝。

yum install crontab

3、配置cron服務器:

vim /etc/crontab

這是配置前的文件:

SHELL=/bin/bash         //使用的shell類型

PATH=/sbin:/bin:/usr/sbin:/usr/bin  //shell命令的執行路徑

MAILTO=root             //郵件發給哪個用戶

HOME=/

# For details see man 4 crontabs

# Example of job definition:

# .---------------- minute (0 - 59)

# |  .------------- hour (0 - 23)

# |  |  .---------- day of month (1 - 31)

# |  |  |  .------- month (1 - 12) OR jan,feb,mar,apr ...

# |  |  |  |  .---- day of week (0 - 6) (Sunday=0 or 7) OR sun,mon,tue,wed,thu,fri,sat

# |  |  |  |  |

# *  *  *  *  *  command to be executed

下面我們給出一個示例:
SHELL=/bin/bash
PATH=/sbin:/bin:/usr/sbin:/usr/bin
MAILTO=root
HOME=/
# run-parts
1 * * * * root run-parts /etc/cron.hourly  //表示每個小時的第一分鐘,開始執行/etc/hourly目錄下的可執行程序或腳本;
#
2 4 * * * root run-parts /etc/cron.daily   //表示每天的4點2分,開始執行/etc/cron.daily目錄下的可執行程序或腳本;
#
22 4 * * 0 root run-parts /etc/cron.weekly  //每年週日4點我22分,開始執行 /etc/cron.weekly目錄下的可執行程序或腳本;
#
42 4 1 * * root run-parts /etc/cron.monthly  //每月第1天的4點42分,開始執行/etc/cron.monthly目錄下的可執行程序或腳本;
#
0,5,10,15,20,25,30,35,40,45,50,55 * * * * root /usr/bin/mrtg /etc/mrtg/mrtg.cfg
 
爲了讓配置文件生效,我們還得重啓cron:
 
service crond restart
 
也可以是:
 
/etc/init.d/crond restart
 
 
4、cron的使用:
 
首先我們需要編寫計劃任務文件,
格式: 分鐘 小時 日 月 周  【用戶名】 命令
比如我們想明天的凌晨3點20重啓計算機:
        20    3  *  *  *              reboot
第一段應該定義的是:分鐘,表示每個小時的第幾分鐘來執行。範圍是從0-59
第二段應該定義的是:小時,表示從第幾個小時來執行,範圍是從0-23
第三段應該定義的是:日期,表示從每個月的第幾天執行,範圍從1-31
第四段應該定義的是:月,表示每年的第幾個月來執行,範圍從1-12
第五段應該定義的是:周,表示每週的第幾天執行,範圍從0-6,其中 0表示星期日。
每六段應該定義的是:用戶名,也就是執行程序要通過哪個用戶來執行,這個一般可以省略;
第七段應該定義的是:執行的命令和參數。
 
我們也可以在同一時間執行多個任務:
 
在上述的配置文件中有這樣一句話:
#
22 4 * * 0 root run-parts /etc/cron.weekly  //每年週日4點我22分,開始執行 /etc/cron.weekly目錄下的可執行程序或腳本;
 
我們可以在 /etc/cron.weekly 這個文件夾下,放置多個shell腳本。
 
比如在這一時刻想 重啓web服務器
在/etc/cron.weekly/下編寫httpd.sh 
 
# touch httpd.sh
# chmod 755 httpd.sh
# echo "/etc/init.d/httpd restart" > httpd.sh
 
同時我們在這一時刻,想備份網站文件
我們再在/etc/cron.weekly/下編寫另一個shell腳本文件

#touch cpweb.sh
#chmod 755 cpweb.sh
#echo "cp /var/www/html  /var/www/html.bak" >cpweb.sh
 
OK!下面我們重啓服務,配置即可生效。
 
關於計劃任務的應用範圍:
計劃任務主要是讓系統自動完成一些工作。比如我們可以讓系統自動在某一時刻清理或備份httpd服務器的日誌,然後重新啓動httpd服務器,這對網絡管理員來說是很重要的。也可以讓系統自動清空位於/tmp目錄的垃圾文件。
 
 
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章