使用 PHP 撰寫 Shell Script:
PHP 可以當作 shell script 來執行,下面是一段測試的PHP:
PHP程式碼
echo date("Y/m/d");
請根據你的伺服器配置設定以上的 php 路徑。最後儲存檔案後將它 chmod u+x。
然後打入以下指令執行:
[root@linux ~]# /usr/local/php/bin/php -q /path/to/script.php
其中/usr/local/php/bin/php是你的php執行檔的安裝路徑,/path/to/script.php 是程式的儲存位置。
這時便會在 Shell 下看到輸出現時的日期。
例行性工作排程執行:
要將 PHP 放入排程自動執行。只要輸入以下指令便可:
crontab -e
然後系統便會呼叫 vi 編輯器,使用以下格式加入排程工作:
00 05 * * * /usr/local/php/bin/php -q /home/yourname/backup.php > /dev/null 2>&1
以上 /home/yourname/backup.php 是 php script 的絕對路徑,而以上例子是設定成每天早上的 5:00 便會自動執行。
00 05 * * *部份是排程的時間,這5個欄位的意義為:
代表意義 | 分鐘 | 小時 | 日 期 | 月份 | 週 |
數字範圍 | 0-59 | 0-23 | 1-31 | 1-12 | 0-7 |
週的數字為 0 或 7 時,都代表『星期天』的意思!另外, 還有一些輔助的字符,大概有底下這些:
特殊字符 | 代表意義 |
*(星號) | 代表任何時刻都接受的意思!舉例來說,範例一內那個日、月、週都是 * , 就代表著『不論何月、何日的禮拜幾的 12:00 都執行後續指令』的意思! |
,(逗號) | 代表分隔時段的意思。舉例來說,如果要下達的工作是 3:00 與 6:00 時,就會是:0 3,6 * * * command時間參數還是有五欄,不過第二欄是 3,6 ,代表 3 與 6 都適用! |
-(減號) | 代表一段時間範圍內,舉例來說, 8 點到 12 點之間的每小時的 20 分都進行一項工作:20 8-12 * * * command仔細看到第二欄變成 8-12 喔!代表 8,9,10,11,12 都適用的意思! |
/n(斜線) | 那個 n 代表數字,亦即是『每隔 n 單位間隔』的意思,例如每五分鐘進行一次,則:*/5 * * * * command很簡單吧!用 * 與 /5 來搭配,也可以寫成 0-59/5 ,相同意思! |
文章參考
PHP Developer Channel:http://www.phpdc.com/article/2/
鳥哥的 Linux 私房菜:http://linux.vbird.org/linux_basic/0430cron.php
0 意見:
張貼留言