自动检查出修改的代码 shell 做升级包 供观摩
#!/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 做升级包 供观摩的更多相关文章
- JS数字格式化(用逗号隔开 代码已做了修改 支持0-9位逗号隔开)
最近做项目需要我们前端对金额进行千分位格式化(也就是说每三位用逗号隔开),代码已经做了修改 之前的版本是本人疏忽 真对不住大家了!现在已经做了修改 如果还有不完善的地方 请大家多多指教! 1. 支持 ...
- p3c 插件,是怎么检查出你那屎山的代码?
作者:小傅哥 博客:https://bugstack.cn 原文:https://mp.weixin.qq.com/s/RwzprbY2AhdgslY8tbVL-A 一.前言 你会对你用到都技术,好奇 ...
- 使用 Mypy 检查 30 万行 Python 代码,总结出 3 大痛点与 6 个技巧!
作者:Charlie Marsh 译者:豌豆花下猫@Python猫 英文:Using Mypy in production at Spring (https://notes.crmarsh.com/u ...
- 解决eclipse修改后台代码ctrl+s总是【自动重启服务器】问题
每次修改后台代码保存总是自启动服务很是耗时,以下设置可以解决你的烦恼: 双击你要设置的项目: 点击ok,最后ctrl+s一下就搞定了. 这时候你随便修改后台代码随便ctrl+s都不会重新启动服务器.b ...
- 在IDEA中停止和关闭SonarLint自动检查,手动运行SonarLint检查代码
关闭SonarLint自动检查代码 有时敲一行代码SonarLint插件就会自动检查,让人感觉很不舒服,还会使电脑卡顿: 依次点击:File -> Settings 或直接Ctrl+Alt+S ...
- vue react自动更新修改的代码
利用node 引入 nodemon,我们项目修改了代码,就不用需要在重新启动 步骤 npm install --save-dev nodemon 执行 nodemon server.js / ...
- secureCRT无操作自动登出时间修改(亲测可用)
转自:http://blog.sina.com.cn/s/blog_6bcf42010102vlt9.html secureCRT连接机器经常会因为一段时间无操作就退出了,提示timed out wa ...
- ssh修改超时自动登出时间的方法
echo $TMOUT 查看当前服务器登出时间,如果没有输出表示不会登出 1.修改:vim ~/.bash_profile 2.设置TMOUT值 TMOUT=600 #表示10分钟之后自动登出 TMO ...
- vscode 使用ESLint 自动检查,保存时自动格式化
1:全局安装eslint `npm install -g eslint`2: 打开vscode 点击 “文件”----->“首选项”---->“设置”,在右侧“用户设置/settings. ...
随机推荐
- python--网络编程之socket
一 . 网络编程 CS架构 客户端服务端架构 服务端:提供服务的 客户端:享受服务的 BS架构:浏览器和服务端 网络通信流程: 集线器:将所有连接上它的电脑全部联通起来 交换机:升级版的集线器 网卡: ...
- arrive 和reach 的区别
例如:He arrived yesterday. 没宾语的话就用arrive了reach作抵达讲时是及物动词,后面要宾语的 分清arrive和reach的区别arrive是不及物动词,后面不能直接加地 ...
- Java-使用哈希码比较对象的值
在一些特殊的情况下使用 package com.tj; import java.io.File; public class MyHash { public static void main(Strin ...
- oracle11gR2下scott用户以及表的建立
目录 oracle11gR2下scott用户以及表的建立 找到系统带的sql文件(utlsample.sql) 根据SQL的内容操作 新建用户并授权 scott登录 表操作 查询表(使用pl/sql) ...
- SQL server将查询到的多行结果,拼接成字符串(列转行)
select stuff(( ,,'') as UserNamestr 注释:查询出tabname表中的UserName列的所有内容,并将内容拼接成UserNamestr
- POJ-2318 TOYS,暴力+叉积判断!
TOYS 2页的提交记录终于搞明白了. 题意:一个盒子由n块挡板分成n+1块区 ...
- 【容器人必看】你一定要来 ECUG Con 2018 的三个理由!
引领国内云领域风向的高端峰会 ECUG Con 2018,即将在 12 月 22-23 日 深圳南山 全新启程!如果你的工作和容器内容相关联,如果你的兴趣和容器技术有交集,如果你是「容器人」,那么这就 ...
- UOJ 34 多项式乘法 ——NTT
[题目分析] 快速数论变换的模板题目. 与fft的方法类似,只是把复数域中的具有循环性质的单位复数根换成了模意义下的原根. 然后和fft一样写就好了,没有精度误差,但是跑起来比较慢. 这破题目改了好长 ...
- BZOJ4446 [Scoi2015]小凸玩密室 【树形Dp】
题目 小凸和小方相约玩密室逃脱,这个密室是一棵有n个节点的完全二叉树,每个节点有一个灯泡.点亮所有灯 泡即可逃出密室.每个灯泡有个权值Ai,每条边也有个权值bi.点亮第1个灯泡不需要花费,之后每点亮4 ...
- 【2018.11.23】2018WCTest(7)
向已退役学长致敬! 题目&他的题解 T1 一道睿智题目,正常思路就是时空复杂度均为 $O(n\times 32768)$ 的背包.这个做法不被卡时间却被卡空间,其实就是想让你离线处理询问,然后 ...