标题:执行SHELL同步代码到预上线和代码回退 出处:刘新修 时间:Wed, 26 Apr 2017 15:00:01 +0000 作者:刘新修 地址:http://liuxinxiu.com:80/s/271/ 内容: C++代码 hostname ############### 最后一次修改的用户 #################### cd /www/ftp/ysx/xfile/www ls -lh ############### 最后一次修改的用户 #################### cat /etc/redhat-release df -h rsync -avzut --progress --delete /www/ftp/ycw/xfile/www/assets liuxinxiu@127.0.0.1::ysx_xfile_www --password-file=/pas/rsync.pas rsync -avzut --progress /www/ftp/ycw/xfile/www/json/assets.json liuxinxiu@127.0.0.1::ysx_xfile_www --password-file=/pas/rsync.pas echo http://ysx.com/xfile/www/json/assets.json UNAME=$(cat /www/ftp/ycw/xfile/www/json/assets.json | jq -c .name) VERSION=$(cat /www/ftp/ycw/xfile/www/json/assets.json | jq -c .version) VERSION=${VERSION//\"/} UpdateTime=$(cat /www/ftp/ycw/xfile/www/json/assets.json | jq -c .UpdateTime) UpdateTime=${UpdateTime//[[:space:]]/_} echo $UNAME echo $UpdateTime cp /www/ftp/ycw/xfile/www/json/assets.json /www/ftp/back/xfile/www/json/assets-$VERSION-$BUILD_USER_ID-v$BUILD_NUMBER.json cd /www/ftp/ycw/xfile/www/ && zip -r -q /www/ftp/back/xfile/www/assets-json-$VERSION-$BUILD_USER_ID-v$BUILD_NUMBER.zip assets json/assets.json echo "" > /www/ftp/back/xfile/www/sh/sh-$VERSION.txt echo cp /www/ftp/back/xfile/www/json/assets-$VERSION-$BUILD_USER_ID-v$BUILD_NUMBER.json /www/ftp/ysx/xfile/www/json/assets.json >> /www/ftp/back/xfile/www/sh/sh-$VERSION.txt echo unzip /www/ftp/back/xfile/www/assets-json-$VERSION-$BUILD_USER_ID-v$BUILD_NUMBER.zip -d /www/ftp/ysx/xfile/www >> /www/ftp/back/xfile/www/sh/sh-$VERSION.txt 其他版本,不增加平台版本号: C#代码 hostname ############### 最后一次修改的用户 #################### cd /www/ftp/ysx/xfile/www ls -lh ############### 最后一次修改的用户 #################### cat /etc/redhat-release df -h rsync -avzut --progress --delete /www/ftp/ycw/xfile/www/assets liuxinxiu@127.0.0.1::ysx_xfile_www --password-file=/pas/rsync.pas rsync -avzut --progress /www/ftp/ycw/xfile/www/json/assets.json liuxinxiu@127.0.0.1::ysx_xfile_www --password-file=/pas/rsync.pas echo http://ysx.cnmo.me/xfile/www/json/assets.json UNAME=$(cat /www/ftp/ycw/xfile/www/json/assets.json | jq -c .name) UNAME=${UNAME//\"/} VERSION=$(cat /www/ftp/ycw/xfile/www/json/assets.json | jq -c .version) VERSION=${VERSION//\"/} UpdateTime=$(cat /www/ftp/ycw/xfile/www/json/assets.json | jq -c .UpdateTime) UpdateTime=${UpdateTime//[[:space:]]/_} UpdateTime=${UpdateTime//\"/} cp /www/ftp/ycw/xfile/www/json/assets.json /www/ftp/back/xfile/www/json/assets-$VERSION-$UNAME-$UpdateTime.json cd /www/ftp/ycw/xfile/www/ && zip -r -q /www/ftp/back/xfile/www/assets-json-$VERSION-$UNAME-$UpdateTime.zip assets json/assets.json echo "" > /www/ftp/back/xfile/www/sh/sh-$VERSION-$UNAME-$UpdateTime.txt echo cp /www/ftp/back/xfile/www/json/assets-$VERSION-$UNAME-$UpdateTime.json /www/ftp/ysx/xfile/www/json/assets.json >> /www/ftp/back/xfile/www/sh/sh-$VERSION-$UNAME-$UpdateTime.txt echo unzip /www/ftp/back/xfile/www/assets-json-$VERSION-$UNAME-$UpdateTime.zip -d /www/ftp/ysx/xfile/www >> /www/ftp/back/xfile/www/sh/sh-$VERSION-$UNAME-$UpdateTime.txt 代码同步超级管理员 C#代码 myPath="/www/ftp/${userName//\"/}" ############### 这里的-d 参数判断$myPath是否存在 ############### if [ ! -d "$myPath" ] ; then echo "这个目录不存在呀!有问题请及时与管理员联系:liu.xinxiu@cnmo.com" cat $myPath exit #else #echo "目录存在!" fi ############### 这里的-d 参数判断$myPath是否存在 ############### proName=${projectName//\"/} proPath="$myPath/xfile/$proName" ysxPath="/www/ftp/ysx/xfile/$proName" backPath="/www/ftp/back/xfile/$proName" hostname ############### 最后一次修改的用户 #################### cd $proPath ls -lh ############### 最后一次修改的用户 #################### cat /etc/redhat-release df -h ############### 数据同步 #################### rsync -avzut --progress --delete $proPath/assets liuxinxiu@127.0.0.1::ysx_xfile_$proName --password-file=/pas/rsync.pas cp $proPath/json/assets.json $ysxPath/json/assets.json ############### 数据同步 #################### echo http://ysx.cnmo.me/xfile/$proName/json/assets.json UNAME=$(cat $proPath/json/assets.json | jq -c .name) UNAME=${UNAME//\"/} VERSION=$(cat $proPath/json/assets.json | jq -c .version) VERSION=${VERSION//\"/} UpdateTime=$(cat $proPath/json/assets.json | jq -c .UpdateTime) UpdateTime=${UpdateTime//[[:space:]]/__} UpdateTime=${UpdateTime//\:/_} UpdateTime=${UpdateTime//\"/} ############### 数据备份操作 #################### cp $proPath/json/assets.json $backPath/json/assets-${VERSION}__${UpdateTime}.json cd $proPath/ && zip -r -q $backPath/assets-${VERSION}__${UpdateTime}.zip assets json/assets.json echo "" > $backPath/sh/assets-${VERSION}__${UpdateTime}.txt echo cp $backPath/json/assets-${VERSION}__${UpdateTime}.json $ysxPath/json/assets.json >> $backPath/sh/assets-${VERSION}__${UpdateTime}.txt echo unzip -o $backPath/assets-${VERSION}__${UpdateTime}.zip -d $ysxPath >> $backPath/sh/assets-${VERSION}__${UpdateTime}.txt echo sed -i "'"s/,'"addOth"':{/,'"Fallback"':'"'$BUILD_USER_ID-v${ENV, var="BUILD_ID"}'"','"addOth"':{/g"'" $ysxPath/json/assets.json >> $backPath/sh/assets-${VERSION}__${UpdateTime}.txt ############### 数据备份操作 #################### ############### 维护回退版本列表 #################### versionList="$backPath/versionList.txt" if [ ! -f "$versionList" ]; then #touch "$versionList" echo "vlist=assets-${VERSION}__${UpdateTime}" > $backPath/versionList.txt else #grep -q "裸照" urfile && echo "有的" || echo "没的" grep -q "assets-${VERSION}__${UpdateTime}" $backPath/versionList.txt && echo "相同代码在备份文件中已经存在,已再次执行了代码同步!您还可以选择代码回滚功能,一键回退指定版本~" || sed -i "/^vlist.*$/s//& ,assets-${VERSION}__${UpdateTime}/g" $backPath/versionList.txt fi ############### 维护回退版本列表 #################### Generated by Bo-blog 2.1.1 Release