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/

 

以下是示例代码

<?php

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<br>";

}

}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 "<pre>";   

printf($read);

echo "</pre>";   

pclose($handle);

 

}else{

 

 

?>

<ul>

<li><a href="/admin" target="_blank">后台</a></li>

<li><a href="http://pay.navidog.cn" target="_blank">前台</a></li>

<li><a href="info.php" target="_blank">info</a></li>

<li>-----</li>

<li><a href="index.php?opt=up" target="_blank">svn-up</a></li>

</ul>

 

<?}?>