不是一个人

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

阅读更多
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

加入CSDN,享受更精准的内容推荐,与500万程序员共同成长!
关闭
关闭