Linux定時任務的使用

  Linux下的定時任務,crontab是一個很是有用的命令(大部分的自動完成的工做都須要用到自動執行命令) php

  這裏演示一個很是簡單的定時任務設置。(用來作之後全部複雜的自動化工做的前提)。 前端

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

  #!/bin/bash 數據庫

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

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

而後能夠切換到  測試

vim  /etc/crontab spa


 

用法在這個文件裏已經有詳細的說明  命令行

從左往右依次表明着 分  時 天 月 星期的控制 rest

若是是*/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

相關文章
相關標籤/搜索