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

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

 

root@java-203-svn:~# cat /usr/local/scripts/svn_co_ex_rsync.sh
#!/bin/sh
#function: checkout tag release and exprot,rsync to product environment
#author: lw.yang
#version: v-1.0
#modify_time: 2011-03-21

URL=http://svn.***.com
DATE=$(date +%F)
USERNAME=yangliangwei
PASSWORD=123456
IP=192.168.50.7

   for i in $(cat /usr/local/scripts/project_name.txt);
  
     do
  
       cd   /svn_co

       /usr/bin/svn co $URL/$i/tags/$i-$DATE --username=$USERNAME --password=$PASSWORD >> /var/log/svnlog/$i-$DATE.log  2>&1  

       if [ -d "/svn_co/$i-$DATE" ];then

       /usr/bin/svn export /svn_co/$i-$DATE  /svn_rsync/$i-$DATE --force

       /usr/bin/rsync -avH --delete --progress  /svn_rsync/$i-$DATE root@$IP:/www  >> /var/log/svnlog/$i-$DATE.log  2>&1

       fi
  
      if [ "$?" -eq "0" ];then
        
         /bin/rm -rf /svn_co/$i-$DATE
         /bin/rm -rf /svn_rsync/$i-$DATE

      fi
  
   done

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值