Linux定時任務的使用

ruyangit 8年前發布 | 8K 次閱讀 Linux

來自: http://my.oschina.net/xiongyuanliang/blog/608802


  Linux下的定時任務,crontab是一個非常有用的命令(大部分的自動完成的工作都需要用到自動執行命令)

  這里演示一個非常簡單的定時任務設置。(用來做以后所有復雜的自動化工作的前提)。

  先寫個簡單的用來測試的腳本(我們定義其為cro.sh 主要就是把當前時間寫入到一個1.txt文本里面)

  #!/bin/bash

  echo   `date`>>/home/test/1.txt

PS:在命令行里面執行命令需要``這樣的格式,命令就會運行。

然后可以切換到 

vim  /etc/crontab


 

用法在這個文件里已經有詳細的說明 

從左往右依次代表著 分  時 天 月 星期的控制

如果是*/1則代表頻率。

這里為了測試,我將其設置為 1分鐘刷新自動運行一次。(當然這里直接寫的時候,腳本無法自動直接運行,需要加上sh

編輯自動執行任務,則有:

Crontab -e (在看到的自動執行任務里,我們加上sh   就是直接讓sh運行cro.sh)


 

然后切換到前端  用crontab -l 查看當前的定時任務


 

可以看到自動執行任務已經添加完成,監測

tail -f 1.txt


 

可以看到當前已經開始正確的進行了記錄。

如果沒有自動重啟任務:service crond restart(可用該命令對服務進行重啟)

實用性自動任務加強實行腳本應用場景舉例:

 

1.自動備份數據庫(按照年月日進行備份指定的數據庫到指定的目錄)

#!/bin/bash

Mysqldump -uroot -proot test | gzip > /home/bak/test`date +%Y-%m-%d_%H%M%S`.sql.gz

將其保存為home/bak/baksql.sh

crontab -e

*  *  1 *  *  sh /home/bak/baksql.sh 

這樣就完成了一天自動備份一次數據庫test

 

2.檢測hhvm腳本是否一直在自動運行

#!/bin/sh

#查所有的進程找到了hhvm 

process=`ps aux | grep hhvm | grep -v grep|wc -l`;

if [ "$process" -lt 1 ]; then

       /usr/local/bin/hhvm --mode daemon --user www --config /etc/hhvm/server.ini --config /etc/hhvm/php.ini --config /etc/hhvm/config.hdf

else

      echo "process hhvm exsits";

fi

 


 本文由用戶 ruyangit 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!