使用crontab的幾個例子.

  在向cron進程提交一個crontab文件之前,必須配置環境變量EDITOR。cron進程根據它來確定使用哪個編輯器編輯cron文件。在UNIX和Linux用戶都使用vi,如果你也是這樣,那麼你就編輯$HOME目錄下的.profile文件,在其中加入這樣一行:
EDITOR=vi ;export EDITOR

  你必須保證$PATH目錄中有vi編輯器,通過使用which vi來檢查vi所在的目錄,如果沒有找到vi,那麼你必須手動配置一個.

在/home/scada/目錄下有一個腳本test,內容爲:
#!/bin/sh
echo `date` >> /home/scada/11.txt

1. 如何配置腳本每隔1分鐘運行一次?
   #調用crontab -e 編輯,編輯內容爲:
   0-59 * * * * /home/scada/test
#  */2 * * * *  /home/scada/text
2. 如何配置腳本每隔5分鐘執行一次?
   #調用crontab -e 編輯,編輯內容爲:
   0-59/5 * * * * /home/scada/test
3. 配置爲: 0,1 * * * * /home/scada/test是什麼意思?
   它表示每小時運行兩次(整點及整點後兩分鐘)
4. 如何在crontab中使用全局變量?
   有一個全局變量,在$home/.bash_profile文件中定義。定義爲:
   export TESTTMP=/home/scada
   在crontab中執行的腳本如何獲取這個變量呢?
   把腳本內容改爲:
   #!/bin/sh
   #filename:test
   echo $TESTTMP >> /home/scada/11.txt
   配置爲一分鐘運行一次,查看結果。發現文件/home/scada/11.txt中的內容爲空,沒有獲取到$TESTTMP的數據,這是因爲通過調用crontab調用腳本不會包含當前用戶中的各種環境變量的設置,必須在腳本前設置好環境變量,而設置環境變量的方法可以使用source命令。因此正確的腳本調用爲:
   #!/bin/sh
   #filename:test
   #source /home/scada/.bash_profile
   #switch the userpath
   cd ~
   userpath=`pwd`
   source ${userpath}/.bash_profile
   echo ${TESTTMP} >> /home/scada/11.txt

#echo $TESTTMP  >> /home/scada/11.txt  #不用打括號圍起來也可以

或者通過crontab -e 編輯調度文件的時候,直接在裏面制定全局變量,如下所示:
TESTTMP=/home/scada
0-59 * * * * /home/scada/test

發佈了120 篇原創文章 · 獲贊 5 · 訪問量 76萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章