Linux VPS/server上用Crontab來實現VPS本身主動化

VPS或者server上經常會需要VPS或者server上經常會需要定時備份數據、定時運行從新啓動某個服務或定時運行某個程序等等,通常在Linux使用Crontab,Windows如下是用計劃任務(Win的都是圖形界面設置比較簡單),如下主要介紹Linux VPS/server上Crontab的安裝及使用。php

Crontab是一個Unix/Linux系統下的常常使用的定時執行工具,可以在無需人工干預的狀況下執行指定做業。編輯器

1、Crontab的安裝

一、CentOS如下安裝Crontab

yum install vixie-cron crontabs      //安裝Crontabphp-fpm

chkconfig crond on                //設爲開機自啓動
service crond start                 //啓動工具

說明:vixie-cron軟件包是cron的主程序。crontabs軟件包是用來安裝、卸裝、 或列舉用來驅動 cron 守護進程的表格的程序。post

二、Debian如下安裝Crontab

apt-get install cron             //大部分狀況下Debian都已安裝。spa

/etc/init.d/cron restart    //從新啓動Crontabrest

2、Crontab用法

一、查看crontab定時運行任務列表

crontab -l

二、加入crontab定時運行任務

crontab -e

輸入crontab任務命令時可能會因爲crontab默認編輯器的不一樣。日誌

如上圖所看到的爲nano編輯器。使用比較簡單,直接在文件末尾按crontab命令格式輸入就能夠,Ctrl+x退出,再輸y 回車保存。server

第二種是vi編輯器,首先按i鍵,在文件末尾按crontab命令格式輸入。再按ESC鍵。再輸入:wq 回車就能夠。進程

三、crontab 任務命令書寫格式

格式: minute hour dayofmonth month dayofweek command
解釋: 分鐘 小時 日期 月付 命令
範圍: 0-59 0~23 1~31 1~12 0~7。0和7都表明週日  

在crontab中咱們會經常常使用到* ,   -  /n 這4個符號,好吧仍是再畫個表格。更清楚些:

符號 解釋
*(星號) 表明所有有效的值。 如:0 23 * * * backup 不論幾月幾日周幾的23點整都運行backup命令。
,(逗號) 表明切割開多個值。如:30 9 1,16,20 * * command 每個月的一、1六、20號9點30分運行command命令。

-(減號) 表明一段時間範圍。

如0 9-17 * * * checkmail 天天9點到17點的整點運行checkmail命令

/n 表明每隔n長時間。如*/5 * * * * check 每隔5分鐘運行一次check命令。與0-59/5同樣。

如下舉一些樣例來加深理解:

天天凌晨3:00運行備份程序:0 3 * * * /root/backup.sh

每週日8點30分運行日誌清理程序:30 8 * * 7 /root/clear.sh

每週1周5 0點整運行test程序:0 0 * * 1,5 test

每一年的5月12日14點運行wenchuan程序:0 14 12 5 * /root/wenchuan

每晚18點到23點每15分鐘從新啓動一次php-fpm:*/15 18-23 * * * /etc/init.d/php-fpm

相關文章
相關標籤/搜索