安裝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進程已經啓動!