#!/bin/bash
# 检测出 appsReleass 项目代码更新
# oath 冉幕飞 #验证 基础参数 $1
day=$1 #多少天内
zipfile=$2 #包名称
if [ "$day" == '' -o "$zipfile" == '' ];then
echo '----------- error ----------------'
echo '--------- 请输入多少天以内的更新 或者缺少包名称-------'
exit 0
fi
#=========================== config ======================
root=/home/www/appsRelease # 扫描目录
savepath=/home/www/two #检出保存位置
zipPath=/home/www/package2
package=/home/www/package2/utf-8 #制作包位置
actionPath=/home/www/package/apprelease #压缩包存放位置
cd ${root}
filelist=$(find . -path "./.git*" -a -prune -o -path "./Cache" -a -prune -o -path "./Uploads" -a -prune -o -mtime -$day )
#========================= end config =================== # clear file
rm -rvf ${savepath}/*
rm -rvf ${package}/upload/*
rm ${package}/upgrade/ext/*.sql
rm ${package}/upgrade/config.php
#exit 0 for file in $filelist
do
files=${file#*/} if [ -f $files ];then
dir=${files%/*} printf "%s \n" $dir if [ ! -d ${savepath}/${dir} ];then
if [ -d ${root}/${dir} ];then
mkdir -p ${savepath}/${dir}
fi
fi
cp -rvf "${files}" ${savepath}/${files}
fi
#cp $file ../one
done #echo ${filelist}
sleep 3
echo '===================copy file end; start create package======================='
sleep 3
#exit 0
# copy file
cp -rvf ${savepath}/* ${package}/upload/ cp -rvf ${savepath}/sql/* ${package}/upgrade/ext/ #cp -rvf ${savepath}/sql/config.php ${package}/upgrade/
# 版本信息写入
data=`echo $zipfile | cut -d \_ -f 3` data_temp=${data:0:4}/${data:0-4:2}/${data:6:2} version=7.1.${data:0-4} cat <<-END> ${package}/upgrade/config.php
<?php
return array(
'vs'=>'${version}',//需要升级的程序
'data'=>'${data}',//升级到的程序版本
'data_temp'=>'${data_temp}',
);
END
## 版本结束
# zip file
cd ${zipPath}
zip -r ${zipPath}/${zipfile}.zip utf-8
mv ${zipfile}.zip ${actionPath}
# push online
#git add --all && git commit -m "up newpacka" && git pull && git push echo '========= end ===================='

作者:鹊桥仙


出处:http://www.cnblogs.com/freefei/


关于作者:专注于Linux平台项目架构、管理和企业解决方案。基于linux 容器技术 微服务架构 云计算领域有一点点经验。如有问题或建议,请多多赐教!


本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接。如有问题,可以邮件:ranmufei@qq.com  微博:鹊桥仙  联系我,非常感谢。

        </p>
</div>

自动检查出修改的代码 shell 做升级包 供观摩的更多相关文章

  1. JS数字格式化(用逗号隔开 代码已做了修改 支持0-9位逗号隔开)

    最近做项目需要我们前端对金额进行千分位格式化(也就是说每三位用逗号隔开),代码已经做了修改  之前的版本是本人疏忽 真对不住大家了!现在已经做了修改 如果还有不完善的地方 请大家多多指教! 1. 支持 ...

  2. p3c 插件,是怎么检查出你那屎山的代码?

    作者:小傅哥 博客:https://bugstack.cn 原文:https://mp.weixin.qq.com/s/RwzprbY2AhdgslY8tbVL-A 一.前言 你会对你用到都技术,好奇 ...

  3. 使用 Mypy 检查 30 万行 Python 代码,总结出 3 大痛点与 6 个技巧!

    作者:Charlie Marsh 译者:豌豆花下猫@Python猫 英文:Using Mypy in production at Spring (https://notes.crmarsh.com/u ...

  4. 解决eclipse修改后台代码ctrl+s总是【自动重启服务器】问题

    每次修改后台代码保存总是自启动服务很是耗时,以下设置可以解决你的烦恼: 双击你要设置的项目: 点击ok,最后ctrl+s一下就搞定了. 这时候你随便修改后台代码随便ctrl+s都不会重新启动服务器.b ...

  5. 在IDEA中停止和关闭SonarLint自动检查,手动运行SonarLint检查代码

    关闭SonarLint自动检查代码 有时敲一行代码SonarLint插件就会自动检查,让人感觉很不舒服,还会使电脑卡顿: 依次点击:File -> Settings 或直接Ctrl+Alt+S ...

  6. vue react自动更新修改的代码

    利用node 引入 nodemon,我们项目修改了代码,就不用需要在重新启动 步骤 npm install --save-dev nodemon 执行 nodemon server.js      / ...

  7. secureCRT无操作自动登出时间修改(亲测可用)

    转自:http://blog.sina.com.cn/s/blog_6bcf42010102vlt9.html secureCRT连接机器经常会因为一段时间无操作就退出了,提示timed out wa ...

  8. ssh修改超时自动登出时间的方法

    echo $TMOUT 查看当前服务器登出时间,如果没有输出表示不会登出 1.修改:vim ~/.bash_profile 2.设置TMOUT值 TMOUT=600 #表示10分钟之后自动登出 TMO ...

  9. vscode 使用ESLint 自动检查,保存时自动格式化

    1:全局安装eslint `npm install -g eslint`2: 打开vscode 点击 “文件”----->“首选项”---->“设置”,在右侧“用户设置/settings. ...

随机推荐

  1. $monitor用法

    1.$monitor 进程同一时间有且仅有一个,若多次调用$monitor,新进程会代替以前的monitor进程. 2.$fmonitor可以同时存在任意个. 3.一般不用$monitor系统函数. ...

  2. 利用visual studio 搜索替换功能清除项目中javascript文件的debugger;

    在做web项目中,写js代码时候,会有一堆的debugger;,当时又懒得删,后面就多起来了,在vs的编辑器里面,其查找替换功能支持正则和整个项目/解决方案替换,这样就很容易删掉debugger;,方 ...

  3. navigator.language介绍

    navigator.language返回一个字符串,该字符串代表用户的首先语言,通常是浏览器使用的语言.navigator.language为只读属性. 用法: var lang = globalOb ...

  4. asp.net提交危险字符处理方法之一

    在form表单提交前,可以在web页面,submit按钮的click事件中,使用js函数对,可能有危险字符的内容进行编码. 有3个函数可用: encodeURI() 函数可把字符串作为 URI 进行编 ...

  5. poj2104&&poj2761 (主席树&&划分树)主席树静态区间第k大模板

    K-th Number Time Limit: 20000MS   Memory Limit: 65536K Total Submissions: 43315   Accepted: 14296 Ca ...

  6. 只操作git(cmd)就可以使用git将项目上传到github

    代码改变世界 使用git将项目上传到github(最简单方法) 首先你需要一个github账号,所有还没有的话先去注册吧! https://github.com/ 我们使用git需要先安装git工具, ...

  7. [UOJ#219][BZOJ4650][Noi2016]优秀的拆分

    [UOJ#219][BZOJ4650][Noi2016]优秀的拆分 试题描述 如果一个字符串可以被拆分为 AABBAABB 的形式,其中 A 和 B 是任意非空字符串,则我们称该字符串的这种拆分是优秀 ...

  8. hdu 1390

    #include<stdio.h> int main() { int t,n,a[1001]; scanf("%d",&t); while(t--) { sca ...

  9. bzoj2748 [HAOI2012]音量调节 背包

    Description 一个吉他手准备参加一场演出.他不喜欢在演出时始终使用同一个音量,所以他决定每一首歌之前他都要改变一次音量.在演出开始之前,他已经做好了一个列表,里面写着在每首歌开始之前他想要改 ...

  10. docker 给容器配置ip(和主机一个网段)

    docker 给容器配置ip(和主机一个网段).详情参考:http://www.xiaomastack.com/2015/02/06/docker-static-ip/ #/bin/bash ] || ...