#!/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. 剑指Offer(书):合并两个排序的列表

    题目:输入两个单调递增的链表,输出两个链表合成后的链表,当然我们需要合成后的链表满足单调不减规则. 递归版本: public ListNode Merge(ListNode list1,ListNod ...

  2. HDU 3790 (最短路 + 花费)

    题意: 给你n个点,m条无向边,每条边都有长度d和花费p,给你起点s终点t,要求输出起点到终点的最短距离及其花费,如果最短距离有多条路线,则输出花费最少的. #include<bits/stdc ...

  3. Python 输出命令行进度条

    在使用 pip 安装时,你会发现有下载进度条,我们也可以借助开源的第三方库来实现这个功能,在项目输出时增加一些可视化效果. 一个简单易用的第三方库是:progress 作者提供了动图很直观地展现了实现 ...

  4. saltstack管理八之常用执行模块

    所有执行模块: http://docs.saltstack.cn/zh_CN/latest/ref/states/all/index.html 常用模块:cmd, cron, file, mount, ...

  5. 《C#高级编程》笔记系列第三弹

    我们在开发WinForm时,经常会看到partial关键字,比如,我们新建一个Windows Form时,后台代码自动添加如下: 1 public partial class Form1 : Form ...

  6. 在myeclipse中使用查找功能

    1.全局搜索(快捷键:ctrl+H) 在弹出对话框中选File Search选项,然后在第一个文本框中粘贴(我一般用粘贴)或自已手动录入(容易写错)要查找的字符串(可以是英文字符也可以是汉字),在第二 ...

  7. Windows Server AppFabric

    文章:Windows Server AppFabric简介 介绍了AppFabric强大的功能.

  8. 【Go】并发编程

    Go语言宣扬用通讯的方式共享数据. Go语言以独特的并发编程模型傲视群雄,与并发编程关系最紧密的代码包就是sync包,意思是同步.同步的用途有两个,一个是避免多个线程在同一时刻操作同一个数据块,另一个 ...

  9. ps 批量杀死进程

    ps aux | grep xxx |awk '{print $2}'|xargs kill -9

  10. 【Openjudge】岛屿(并查集)

    题目链接 此题是并查集.考虑到水位不断上涨,所以将时间倒转.先统计最后一天的联通块个数,每一天浮出水面的块进行计算.复杂度O(玄学). 代码如下 #include<cstdio> #inc ...