24h購物| | PChome| 登入
2006-02-26 22:28:29| 人氣72| 回應0 | 上一篇 | 下一篇

用 PHP 編寫 Shell Script

推薦 0 收藏 0 轉貼0 訂閱站台

文章簡介
網絡管理員在日常的工作中難免會使用到 Shell Script,這可以使工作更加方便以及減少出錯的機會。一般上編寫 shell script 會使用 sh, bash, csh, tcsh, perl 等等來做。



使用 PHP 編寫 Shell Script
那麼概然有這麼多的選擇,為什麼是使用 PHP 來寫?我想最大的好處是連接不同資料庫儲存數據時會較容易,而且其實 PHP 也可用作 shell script,而且一點也不複雜。請先看以下一個簡單的 shell script:
backup.sh

01 #!/bin/sh
02 cd /
03 tar zcvf etc_config.tgz etc/
04 mv etc_config.tgz $HOME/backup


以上這個 shell script 是將 etc 目錄備份成壓縮檔 etc_config.tgz,然後將該壓縮檔搬到使用者 Home directory 下的 backup 目錄。
要執行以 shell script,先要使用 chmod u+x backup.sh 將它改為可執行,然後用以下指令執行它:

sh backup.sh
如果要改用 PHP 代替以上所用的 sh,只要修改第一行,將 /bin/sh 換成 /usr/local/php/bin/php -q 即可,例如:

php_time.php

01 #!/usr/local/php/bin/php -q
02 <?php
03 echo date("Y/m/d");
04 ?>


注意,請根據你的伺服器配置設定以上的 php 路徑。最後儲存檔案後將它 chmod u+x,然後打入以下指令執行:

./php_time.php

這時便會在 Shell 下看到輸出現時的日期。

那麼如果是已經寫好的 PHP 程式,是否可以不加上
#!/usr/local/php/bin/php 這一行來執行?
答案是可以的,只要改用以下指令:

/usr/local/php/bin/php -q /path/to/script.php
以上的 /usr/local/php/bin/php 同樣是 php 的安裝路徑,而 /path/to/script.php 是程式的儲存位置。
將 PHP Script 自動化
現在可以用 PHP 寫 shell script,那麼也就是說可以將 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 便會自動執行。


====================================================
歡迎轉載,但轉載時請保留此宣告,不得作為商業用途
作者: Sam Tang <admin{at}phpini{dot}com>
來源網站: http://www.phpdc.com/
---------------------------------------------------------------------------

台長: 建榮
人氣(72) | 回應(0)| 推薦 (0)| 收藏 (0)| 轉寄
全站分類: 不分類 | 個人分類: PHP |
此分類下一篇:PHP將數值自動補零
此分類上一篇:php物件導向設計

是 (若未登入"個人新聞台帳號"則看不到回覆唷!)
* 請輸入識別碼:
請輸入圖片中算式的結果(可能為0) 
(有*為必填)
TOP
詳全文