SVN 代码迁出,导出,同步至生产环境脚本

 使用说明:该脚本配合crontab运行,可以实现将SVN服务器版本库下的tags内容定时迁出,导出,rsync至生产环境中的代码同步服务器(在本例中,服务器IP为192.168.50.7,中间需要建立公钥信任),tags的文件夹命名规则示例为: bbs-2011-03-22,其中bbs为项目名称。/usr/local/scripts/project_name.txt文件为svn项目名列表,一行为一个项目名,用于脚本循环。该脚本可重复运行。

 

 
 
  1. #!/bin/sh  
  2. #function: checkout tag release and exprot,rsync to product environment  
  3. #author: lw.yang  
  4. #version: v-1.0  
  5. #modify_time: 2011-03-21  
  6.  
  7. URL=http://svn.***.com  
  8. DATE=$(date +%F)  
  9. USERNAME=yangliangwei 
  10. PASSWORD=123456 
  11. IP=192.168.50.7  
  12.  
  13.    for i in $(cat /usr/local/scripts/project_name.txt);   
  14.      
  15.      do   
  16.      
  17.        cd   /svn_co  
  18.  
  19.        /usr/bin/svn co $URL/$i/tags/$i-$DATE --username=$USERNAME --password=$PASSWORD >> /var/log/svnlog/$i-$DATE.log  2>&1     
  20.    
  21.        if [ -d "/svn_co/$i-$DATE" ];then  
  22.  
  23.        /usr/bin/svn export /svn_co/$i-$DATE  /svn_rsync/$i-$DATE --force  
  24.  
  25.        /usr/bin/rsync -avH --delete --progress  /svn_rsync/$i-$DATE  root@$IP:/www  >> /var/log/svnlog/$i-$DATE.log  2>&1   
  26.  
  27.        fi  
  28.      
  29.       if [ "$?" -eq "0" ];then  
  30.            
  31.          /bin/rm -rf /svn_co/$i-$DATE  
  32.          /bin/rm -rf /svn_rsync/$i-$DATE  
  33.  
  34.       fi   
  35.      
  36.    done  
  37.  

 本文转自斩月博客51CTO博客,原文链接http://blog.51cto.com/ylw6006/522511如需转载请自行联系原作者


ylw6006

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值