明輝手游網(wǎng)中心:是一個免費(fèi)提供流行視頻軟件教程、在線學(xué)習(xí)分享的學(xué)習(xí)平臺!

用php作Linux自動執(zhí)行腳本

[摘要]綜述    Linux中crontab是實(shí)現(xiàn)定時執(zhí)行的指令,利用這個指令我們就可以定時執(zhí)行某一個php文件,從而實(shí)現(xiàn)用PHP做Linux自動執(zhí)行腳本。   如何用PHP作Linux自動執(zhí)行腳本?    在安裝PHP的時候,會產(chǎn)生一個可執(zhí)行文件,文件名為php.將它 copy 到 /usr/loca...
綜述
  
  Linux中crontab是實(shí)現(xiàn)定時執(zhí)行的指令,利用這個指令我們就可以定時執(zhí)行某一個php文件,從而實(shí)現(xiàn)用PHP做Linux自動執(zhí)行腳本。
  如何用PHP作Linux自動執(zhí)行腳本?
  
  在安裝PHP的時候,會產(chǎn)生一個可執(zhí)行文件,文件名為php.將它 copy 到 /usr/local/bin 下.在終端方式執(zhí)行php程序:
  
  php -q onlinnum.php
  
    PHP 原本是應(yīng)用在網(wǎng)頁應(yīng)用的﹐因此它會送出 HTML 的HEADER﹐但是在此我們是要將 PHP 用作 Shell Script﹐-q 就是表示不要送 出 HEADER 的意思.你可以試試看不加上 -q 的顯示結(jié)果。此時你已經(jīng)可以在終端方式下執(zhí)行PHP 代碼了。 linux命令:cron daemon
  
  這是一個系統(tǒng)中常駐的服務(wù),功能在于執(zhí)行例行性的工作,如每天一次或每月一 次檢查磁盤。cron daemon 會在每分鐘檢查一次排定的工作表(crontab),看看是否有要執(zhí)行的指令,所有的輸出會以mail寄給用戶。
  
  設(shè)置 crontab
  命令:crontab -e
  
  該命令呼叫vi編輯器來編輯執(zhí)行的清單。例如
  
  0 0 1,15 * * fsck /home
  1 * * * * /home/myhome/printhello
  
  每一行代表一項(xiàng)排定的工作,在指令前為排定的時間,總共有5個欄位,以空格間隔,由左到右依序如下:
  
  --------------------------
  分鐘 從00到 99
  點(diǎn)鐘 從0到 24
  日 從01到31
  月 從01到12
  星期 從01到07,代表星期一到星期日
  *號表示每 ,如每天執(zhí)行,就在第三欄填*號
  --------------------------
  所以上例的兩項(xiàng)工作是:
  每月1號和15號檢查/home 磁盤
  每小時的第一分執(zhí)行 /home/myhome/printhello 這個文件
  
  查看crontab:crontab -l
  刪除crontab:crontab -r
  
  我們就知道該怎么利用PHP和crontab命令作Linux自動執(zhí)行腳本了。
  
  還需要注意什么問題?
  
  如果php中有使用數(shù)據(jù)庫,如oracle等,執(zhí)行腳本中還需export Oracle的環(huán)境設(shè)置。因?yàn)閏ron下的腳本執(zhí)行的用戶都是在沒登陸狀態(tài)下執(zhí)行的,少了很多系統(tǒng)里設(shè)置的環(huán)境變量的值,在連接數(shù)據(jù)庫的時候會出問題。