不少時候咱們有但願服務器定時去運行一個腳原本觸發一個操做,好比說定時去備份服務器數據、數據庫數據等 不適合人工常常作的一些操做這裏簡單說下前端
shell Shell俗稱殼,相似於DOS下的command和後來的cmd.exe。它接收用戶命令,而後調用相應的應用程序。做爲命令語言,它交互式解釋和執行用戶輸入的命令或者自動地解釋和執行預先設定好的一連串的命令;做爲程序設計語言,它定義了各類變量和參數,並提供了許多在高級語言中才具備的控制結構,包括循環和分支。linux
我這裏是centos6,5 shell
接下來 寫一個簡單的shell命令:數據庫
1.使用pwd命令查看當前路徑爲/root目錄vim
2.使用vi編輯器 能夠直接 # vim hello.sh編寫第一個shell文件 hello.sh, 注意必定要以.sh結尾centos
3.編寫第一個shell文件,#!/bin/bash 是必需要寫的,表示要是/bin/bash這個執行腳本的命令執行接下來寫的腳本, echo "hello world !!"表示想前端打印一句話,具體看各自需求。bash
4.經過chmod命令賦予該腳本的執行權限chmod 755 hello.sh,不然沒有執行權限,/root/hello.sh表示在全路徑下執行該shell腳本服務器
就此一個簡單的shell腳本就這樣寫完了 具體的這裏就不講了。curl
雖然一個簡單的shell腳本寫完了 可是運行後只能執行一次 對不少應用場景來講仍是不夠,接下來講一下定時任務編輯器
定時任務 --相信不少小夥伴沒用過也據說過吧。
這裏就不細講了直接進入正題
1.安裝crontab
vixie-cron軟件包是cron的主程序;
crontabs軟件包是用來安裝、卸裝、或列舉用來驅動 cron 守護進程的表格的程序。
2.開啓crontab服務
用如下的方法啓動、關閉這個cron服務:
service crond start //啓動服務
service crond stop //關閉服務
service crond restart //重啓服務
service crond reload //從新載入配置
查看crontab服務狀態:service crond status
手動啓動crontab服務:service crond start
查看crontab服務是否已設置爲開機啓動,執行命令:ntsysv
加入開機自動啓動:
chkconfig –level 35 crond on
也能夠用設置開機自動啓動crond服務:
[root@CentOS ~]# chkconfig crond on
查看各個開機級別的crond服務運行狀況
[root@CentOS ~]# chkconfig –list crond
crond 0:關閉 1:關閉 2:啓用 3:啓用 4:啓用 5:啓用 6:關閉
能夠看到二、三、四、5級別開機會自動啓動crond服務
取消開機自動啓動crond服務:
[root@CentOS ~]# chkconfig crond off
3.設置須要執行的腳本
新增調度任務可用兩種方法:
1)、在命令行輸入: crontab -e 而後添加相應的任務,wq存盤退出。
2)、直接編輯/etc/crontab 文件,即vi /etc/crontab,添加相應的任務。
crontab -e配置是針對某個用戶的,而編輯/etc/crontab是針對系統的任務
查看調度任務
crontab -l //列出當前的全部調度任務
crontab -l -u jp //列出用戶jp的全部調度任務
刪除任務調度工做
crontab -r //刪除全部任務調度工做
直接編輯 vim /etc/crontab ,默認的文件形式以下:
前四行是有關設置cron任務運行的環境變量。SHELL變量的值指定系統使用的SHELL環境(該樣例爲bash shell),PATH變量定義了執行命令的路徑。Cron的輸出以電子郵件的形式發給MAILTO變量定義的用戶名。若是MAILTO變量定義爲空字符串(MAILTO=""),電子郵件不會被髮送。執行命令或腳本時HOME變量可用來設置基目錄。
文件/etc/crontab中每行任務的描述格式以下:
這樣你們看着很亂吧
固然也有-I 參數 靜默訪問 curl -I http://www.baidu.com
這樣只顯示一組http狀態 但仍是很亂 直接把他寫進固定的日誌文件就方便多了
cat 一下 查看 這樣就簡單多了
就此一個簡單的定時任務就完成了
如以爲哪裏不對的 直接評論或留言。