自动检查出修改的代码 shell 做升级包 供观摩
2024-08-30 11:30:24
#!/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>
最新文章
- win7安装时,避免产生100m系统保留分区的办法
- hibernate一对一外键双向关联
- 【Make a H5 game】JS for beginner——FROM U2B
- Javascript模式(第二章基本技巧)------读书笔记
- java 集合知识整理
- 机器学习&;数据挖掘笔记_13(用htk完成简单的孤立词识别)
- FilterDispatcher已被标注为过时解决办法 >;>;>; FilterDispatcher <;<;<; is deprecated!
- eclipse下使用git下载和上传项目
- android的布局管理器
- 云服务器 ECS Linux 修改编码格式
- iOS之UIColloctionView
- C-Swipe Mobile 一个适用于Vue2.x的移动端轮播组件
- user-modify属性,让html标签可以编辑
- Windows 窗体中的事件顺序(WinForm)
- android 实现淘宝收益图的折线
- xcode升级10
- LeetCode算法题-K-diff Pairs in an Array(Java实现)
- Hive元数据找回
- LVM快照备份与恢复
- php RSA加密传输代码示例(轉)
热门文章
- Verilog学习笔记基本语法篇(五)&#183;&#183;&#183;&#183;&#183;&#183;&#183;&#183; 条件语句
- leetcode刷题——动态规划
- 关于面试总结-SQL经典面试题
- [uiautomator篇] uiautoviewer 定位不到元素
- 九度oj 题目1014:排名
- rabbitmq php 学习
- OMS数据库调整1
- iOS-APP图标和启动页的尺寸
- Spark与Pandas中DataFrame对比(详细)
- 【Luogu】P1896互不侵犯King(状压DP)