linux之crond服務

安裝crontab:
[root@CentOS ~]# yum install vixie-cron
[root@CentOS ~]# yum install crontabs

說明:
vixie-cron軟件包是cron的主程序
crontabs軟件包是用來安裝、卸裝、或列舉用來驅動 cron 守護進程的表格的程序。
//+++++++++++++++++++++++++++++++++++
cron 是linux的內置服務,但它不自動起來,可以用以下的方法啓動、關閉這個服務:
/sbin/service crond start //啓動服務
/sbin/service crond stop //關閉服務
/sbin/service crond restart //重啓服務
/sbin/service crond reload //重新載入配置

查看crontab服務狀態:service crond status

手動啓動crontab服務:service crond start

查看crontab服務是否已設置爲開機啓動,執行命令:ntsysv

加入開機自動啓動:
chkconfig --level 35 crond on


1,crontab命令

功能說明:設置計時器。

語  法:crontab [-u <用戶名稱>][配置文件] 或 crontab [-u <用戶名稱>][-elr]

補充說明:cron是一個常駐服務,它提供計時器的功能,讓用戶在特定的時間得以執行預設的指令或程序。只要用戶會編輯計時器的配置文件,就可以使用計時器的功能。其配置文件格式如下:
   Minute Hour Day Month DayOFWeek Command

參  數: 
 -e  編輯該用戶的計時器設置。 
 -l  列出該用戶的計時器設置。 
 -r  刪除該用戶的計時器設置。 
 -u<用戶名稱>  指定要設定計時器的用戶名稱。

2,crontab 格式

基本格式 :
*   *  *  *  *  command
分 時 日 月 周  命令

第1列表示分鐘1~59 每分鐘用*或者 */1表示
第2列表示小時1~23(0表示0點)
第3列表示日期1~31
第4列表示月份1~12
第5列標識號星期0~6(0表示星期天)
第6列要運行的命令

crontab文件的一些例子:

30 21 * * * /usr/local/etc/rc.d/lighttpd restart
上面的例子表示每晚的21:30重啓apache。

45 4 1,10,22 * * /usr/local/etc/rc.d/lighttpd restart
上面的例子表示每月1、10、22日的4 : 45重啓apache。

10 1 * * 6,0 /usr/local/etc/rc.d/lighttpd restart
上面的例子表示每週六、週日的1 : 10重啓apache。

0,30 18-23 * * * /usr/local/etc/rc.d/lighttpd restart
上面的例子表示在每天18 : 00至23 : 00之間每隔30分鐘重啓apache。

0 23 * * 6 /usr/local/etc/rc.d/lighttpd restart
上面的例子表示每星期六的11 : 00 pm重啓apache。

* */1 * * * /usr/local/etc/rc.d/lighttpd restart
每一小時重啓apache

* 23-7/1 * * * /usr/local/etc/rc.d/lighttpd restart
晚上11點到早上7點之間,每隔一小時重啓apache

0 11 4 * mon-wed /usr/local/etc/rc.d/lighttpd restart
每月的4號與每週一到週三的11點重啓apache

0 4 1 jan * /usr/local/etc/rc.d/lighttpd restart
一月一號的4點重啓apache

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

1.查看vixie-cron RPM 軟件包是否已安裝

判定該軟件包是否已安裝,使用 rpm -q vixie-cron 命令。

[root@localhost ~]# rpm –q vixie-cron

2.判定服務是否在運行

判定該服務是否在運行,使用 /sbin/service crond status 命令

[root@localhost ~]# /sbin/service crond status

3.啓動、關閉和重啓、重新載入配置

執行以下命令:

[root@localhost ~]# /sbin/service crond start                          //啓動服務

[root@localhost ~]# /sbin/service crond stop                           //關閉服務

[root@localhost ~]# /sbin/service crond restart               //重啓服務

[root@localhost ~]# /sbin/service crond reload                 //重新載入配置

4.創建保存備份文件的目錄

[root@localhost ~]# mkdir /opt/tomcatbak                

這個是建立在opt目錄下面的,備份文件將會存放在 /opt/tomcatbak文件夾之下。

5.創建/usr/sbin/tomcatbak文件

執行以下命令:

[root@localhost ~]# vi /usr/sbin/tomcatbak

直接添加需要執行的命令,保存退出。

說明:

/opt/tomcat5/webapps                   原文件的存放目錄

/opt/tomcatbak                               備份文件的存放目錄。

cmsadmin                                       原文件的名稱

cmsadmin$(date +%Y%m%d).tar.gz

cmsadmin$(date +Y%m%d)是備份文件的名稱+年月日,.tar.gz是文件類型

後兩條命令同上,只是文件名稱不同而已。最後保存退出。

6. 修改tomcatbak文件屬性,使其可執行

執行以下命令:

[root@localhost ~]# chmod +x /usr/sbin/tomcatbak

7. 修改/etc/crontab

執行以下命令或用文件編輯器打開:

[root@localhost ~]# vi /etc/crontab

在下面添加如下內容:

36 17 * * * root /usr/sbin/tomcatbak                                //表示每天的17:36分執行備份

8. 重新啓動crond

執行以下命令:

[root@localhost ~]# /etc/rc.d/init.d/crond restart

完成,這樣就會在每天的17:36自動進行數據備份了。

恢復

首先進入到根目錄之下

[root@localhost ~]# cd /

然後選擇要執行的命令:

1、恢復cmsadmin執行:

[root@localhost /]# tar –xzvf /opt/tomcatbak/cmsadmin(+要恢復的文件的日期).tar.gz

2、恢復psc執行:

[root@localhost /]# tar –xzvf /opt/tomcatbak/psc(+要恢復的文件的日期).tar.gz

3、恢復english執行:

[root@localhost /]# tar –xzvf /opt/tomcatbak/english(+要恢復的文件的日期).tar.gz

最後重啓Tomcat,數據恢復完成。

busybox下crond服務:

crond是一個服務,一個守護進程。crond 是linux用來定期執行程序的命令,crond命令每分鍾會定期檢查是否有要執行的工作,如果有要執行的工作便會自動執行該工作。

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

在busybox下的usr/sbin執行下crond提示:crontab: chdir(/var/spool/cron/crontabs): No such file or directory

創建:#mkdir
-p /var/spool/cron/crontabs

然後編輯要執行的任務

#crontabs -e

0 */1 * * * /sbin/ntpdate 192.168.1.67 >/dev/null 2>&1 每隔一個小時更新下時間,不打印任何信息

最後,執行下

#./crond &

此時你會發現/var/spool/cron/crontabs下有一個跟用戶名相同的文件,保存着要執行的任務。

ps下會發現cron進程已經啓動!

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