此文有助于帮助shell功底不高,PHP水平差不多的人,HOHO,收藏下
2005-07-20 17:23
281 查看
網絡管理員在日常的工作中難免會使用到 Shell Script,這可以使工作更加方便以及減少出錯的機會。一般上編寫 shell script 會使用 sh, bash, csh, tcsh, perl 等等來做。
那麼概然有這麼多的選擇,為什麼是使用 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 便會自動執行。
·文章引用自: http://bbs.chinaunix.net/forum/viewtopic.php?t=5 ...
那麼概然有這麼多的選擇,為什麼是使用 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 便會自動執行。
·文章引用自: http://bbs.chinaunix.net/forum/viewtopic.php?t=5 ...
相关文章推荐
- PHP下利用shell后台运行PHP脚本,并获取该脚本的Process ID的代码
- 用 PHP 作为 Shell 脚本语言
- SHELL 综合水平测试
- PHP安全有帮助的一些函数
- 必须收藏的23个php实用代码片段
- php 执行linux shell命令
- Shell脚本实现启动PHP内置FastCGI Server
- shell下十二种读文件的方法 收藏
- 运维自动化之使用PHP+MYSQL+SHELL打造私有监控系统(二)
- oracle官方帮助文档《收藏》
- eAccelerator加速器支持PHP版本到5.4(附shell)
- PHP工程师技能水平区分
- PHP从零单排(九)在PHP中生成cookie 分类: PHP 2014-04-23 22:49 147人阅读 评论(0) 收藏
- php调用shell脚本(web端和客户端同时实现)
- 电子书、API、帮助文档 链接收藏
- 使用PHP拆分中文字符串的方法(收藏) 小节
- PHP面试题及答案(原创)收藏
- 【转】学PS基础:Photoshop 技能167个 经典的Photoshop技巧大全,如果你是初级阶段的水平,熟读此文并掌握,马上进阶为中级水平。
- [shell]CentOS 5.6安装web服务及相关软件(php 5.3, MySQL Server, memcache, spawn-fcgi, nginx, coreseek)
- PHP 调用shell命令