Linux 服務(wù)器上用Crontab來實現(xiàn)VPS自動化
VPS或者服務(wù)器上經(jīng)常會需要VPS或者服務(wù)器上經(jīng)常會需要定時備份數(shù)據(jù)、定時執(zhí)行重啟某個服務(wù)或定時執(zhí)行某個程序等等,一般在Linux使用Crontab,Windows下面是用計劃任務(wù)(Win的都是圖形界面設(shè)置比較簡單),下面主要介紹Linux VPS/服務(wù)器上Crontab的安裝及使用。
Crontab是一個Unix/Linux系統(tǒng)下的常用的定時執(zhí)行工具,可以在無需人工干預(yù)的情況下運行指定作業(yè)。
一、Crontab的安裝
1、CentOS下面安裝Crontab
yum install vixie-cron crontabs //安裝Crontab chkconfig crond on //設(shè)為開機自啟動 service crond start //啟動
說明:vixie-cron軟件包是cron的主程序;crontabs軟件包是用來安裝、卸裝、 或列舉用來驅(qū)動 cron 守護進程的表格的程序。
2、Debian下面安裝Crontab
apt-get install cron //大部分情況下Debian都已安裝。 /etc/init.d/cron restart //重啟Crontab
二、Crontab使用方法
1、查看crontab定時執(zhí)行任務(wù)列表
crontab -l
2、添加crontab定時執(zhí)行任務(wù)
crontab -e
輸入crontab任務(wù)命令時可能會因為crontab默認編輯器的不同。
如上圖所示為nano編輯器,使用比較簡單,直接在文件末尾按crontab命令格式輸入即可,Ctrl+x退出,再輸y 回車保存。
另外一種是vi編輯器,首先按i鍵,在文件末尾按crontab命令格式輸入,再按ESC鍵,再輸入:wq 回車即可。
3、crontab 任務(wù)命令書寫格式
格式 | minute | hour | dayofmonth | month | dayofweek command |
解釋 | 分鐘 | 小時 | 日期 | 月付 | 周命令 |
范圍 | 0-59 | 0~23 | 1~31 | 1~12 | 0~7,0和7都代表周日 |
在crontab中我們會經(jīng)常用到* , - /n 這4個符號,好吧還是再畫個表格,更清楚些:
符號 | 解釋 |
*(星號) | 代表所有有效的值。 如:0 23 * * * backup 不論幾月幾日周幾的23點整都執(zhí)行backup命令。 |
,(逗號) | 代表分割開多個值。如:30 9 1,16,20 * * command 每月的1、16、20號9點30分執(zhí)行command命令。 |
-(減號) | 代表一段時間范圍。如0 9-17 * * * checkmail 每天9點到17點的整點執(zhí)行checkmail命令 |
/n | 代表每隔n長時間。如*/5 * * * * check 每隔5分鐘執(zhí)行一次check命令,與0-59/5一樣。 |
下面舉一些例子來加深理解:
每天凌晨3:00執(zhí)行備份程序:0 3 * * * /root/backup.sh
每周日8點30分執(zhí)行日志清理程序:30 8 * * 7 /root/clear.sh
每周1周5 0點整執(zhí)行test程序:0 0 * * 1,5 test
每年的5月12日14點執(zhí)行wenchuan程序:0 14 12 5 * /root/wenchuan
每晚18點到23點每15分鐘重啟一次php-fpm:*/15 18-23 * * * /etc/init.d/php-fpm
原文:http://www.vpser.net/manage/crontab.html
【編輯推薦】