1。写shell脚本
!#/bin/sh
svn --username hanhh --password 111111 up https://192.168.1.223/svn/website_php/source /data/www/navidog.cn/
2。运行命令:crontab -e
3。添加每分钟都执行脚本:* * * * * /bin/sh /data/shell/svn.sh > /dev/null 2>&1
* * * * * /bin/sh /data/shell/svn.sh 这个没有添加 /dev/null 的可以在 tail -f /var/spool/mail/root 中查看错误
4. tail -f /var/log/cron:查看crontab 的运行日志
5。这个中文问题可以在执行脚本中添加环境变量 ,就可以更新了
!#/bin/sh
source /etc/profile
svn --username hanhh --password 111111 up https://192.168.1.223/svn/website_php/source /data/www/navidog.cn/
以下是示例代码
if($_GET['opt'] == 'up'){
$checkout = "svn --username hanhh --password 111111 up https://192.168.1.223/svn/website_php/source /data/www/navidog.cn";
//$checkout = "svn --username hanhh --password 111111 up http://192.168.1.223/svn/website_php/source /data/www/tmp";
$output = array();
$tmp = exec($checkout,$output);
if(is_array($output) && !empty($output))
foreach($output as $k=>$v){
echo "$v
";
}
}elseif($_GET['opt'] == 'stream'){
$svn_user = "hanhh";
$svn_pwd = "111111";
$svn_co_dir =" https://192.168.1.223/svn/website_php/source";
$itme_dir = '/data/www/tmp';
header("Cache-Control:no-cache,must-revalidate");
$handle = popen("svn up --username {$svn_user} --password {$svn_pwd} $svn_co_dir $itme_dir", 'r');
$read = stream_get_contents($handle);//需要 PHP5 或更高版本
echo "
";
printf($read);
echo "
";pclose($handle);
}else{
?>
}?>