上篇文章提到crontab定時器的使用,這裡簡單介紹一個
SHELL=/bin/bashPATH=/sbin:/bin:/usr/sbin:/usr/binMAILTO=rootHOME=/# run-parts01 * * * * root run-parts /etc/cron.hourly02 4 * * * root run-parts /etc/cron.daily22 4 * * 0 root run-parts /etc/cron.weekly42 4 1 * * root run-parts /etc/cron.monthly01 8 * * * root /home/www/db_back/bk.sh10 8 * * * root /opt/lampp/bin/php /home/www/deleteOldDB.php
/opt/lampp/bin/php 是你的 php 安裝目錄,你可以根據你的伺服器來設定。
你先可以在你伺服器裡的 shell 裡先試一下 能執行 .php 檔案嗎,如果可以那麼說明這個目錄可以用。
如: cd /opt/lampp/bin 斷行符號
xxxxx$: ./php /var/www/test.php
如果可以執行那麼你就用這個目錄,伺服器版本不同目錄不同,
Ubuntu 要安裝 php5-cli 才可以用。
之後你去編輯 crontab 檔案, vi /etc/crontab 上面的代碼就是了。
網上好多資料說要在 php 檔案裡面上 #bath .....之類的,我試了試不用加就可以執行,。
/opt/lampp/bin/php 這個是轉到這個目錄的 php 執行檔案 用這個檔案去執行 絕對目的 .php 檔案如 /home/www/deleteOldDB.php 檔案。
你也可以在 shell 下面進行訪問如 XXXX #: cd /opt/lampp/bin/php 之後進入這個目錄, 輸入 ./php /home/www/deleteOldDB.php
這樣就可以訪問 php 檔案了,如果這裡不能訪問那定時執行那兒也就不可以執行了。(轉)
PS:
1、如果php引用到了其他php檔案,如串連資料庫的conn.inc,則路徑必須是絕對路徑(/home/workpath/phproject/.../conn.inc),否則會出現錯誤,可能是定時任務只能讀絕對路徑吧!
2、每次設定好定時任務時,記得執行/etc/init.d/cron restart重啟定時器