#!/bin/shphp
# 庫的路徑
REPOS=」$1″
# 新提交的版本號
REV=」$2″nginx
WEB=/data/web
FRAMEWORK=/data/framework
export LC_ALL=zh_CN.UTF-8web
changed=$(svnlook changed -r $REV $REPOS)
log=$(svnlook log -r $REV $REPOS)
n=$’\n’shell
/usr/local/php/bin/php-cgi -q /data/shell/svn_post_commit_resources.php 「$changed」 &
————————————–svn
處理更新內容,執行更新命令的PHP腳本文件 svn_post_commit_resources.php 的內容:
—————————————–
$files = explode("\n", $argv[1]);
if (!is_array($files)) {$files=(array)$files;};post
foreach ($files as $v)
{
// 取文件名
$f_tem = trim(substr($v, 2));
// 取最頂層目錄名
$d_tem = substr($f_tem, 0, strpos($f_tem, '/'));
if (!in_array($d_tem, array('web', 'framework', 'conf', 'shell'))) {
continue;
}cmd
// SVN copy 對應的文件
$f_name = '/data/' . $f_tem;
$cmd = "svn update '$f_name' --username x****i --password K****$;chown www.www '$f_name'";it
exec($cmd);
if (strpos($f_tem, 'nginx.conf')) {
exec("kill -HUP `cat /dev/shm/nginx.pid`");
}
}
exit();
?>date