备份数据库
#!/bin/bash
###申明变量
d=`date '+%Y%m%d'`
USER_PT="root"
PASS_PT="Cnbm123456!"
USER_ZT="root"
PASS_ZT="qtmscpv2468"
PT_PATH=/data/PingTai_V3/mysql/pt_sqlbak/
ZT_PATH=/data/ZhongTai_V3/mysql/zt_sqlbak/
###备份平台3个库的结构及数据
docker exec -i PingTai_Mysql mysqldump -u${USER_PT} -p${PASS_PT} cnbmdb01 > ${PT_PATH}/cnbmdb01.sql
docker exec -i PingTai_Mysql mysqldump -u${USER_PT} -p${PASS_PT} cnbmtech_sys > ${PT_PATH}/cnbmtech_sys.sql
docker exec -i PingTai_Mysql mysqldump -u${USER_PT} -p${PASS_PT} xxl_job > ${PT_PATH}/xxl_job.sql
docker exec -i PingTai_Mysql mysqldump -u${USER_PT} -p${PASS_PT} group_indicator > ${PT_PATH}/group_indicator.sql
docker exec -i PingTai_Mysql mysqldump -u${USER_PT} -p${PASS_PT} powerjob-product > ${PT_PATH}/powerjob-product.sql
###备份中台的库结构及数据
docker exec -i ZhongTai_Mysql mysqldump -u${USER_ZT} -p${PASS_ZT} apigateway-ai > ${ZT_PATH}/apigateway-ai.sql
#创建平台备份目录
cd ${PT_PATH}
mkdir ${d} && mv *.sql ${d}/
#创建中台备份目录
cd ${ZT_PATH}
mkdir ${d} && mv *.sql ${d}/
更新平台文件:2023-06-06
#!/bin/bash
#测试版本不一定完全可以,谨慎使用
#
#
#
#
set -e
SUFFIX=--`date +%m-%d`-bak
alias mv='mv'
alias cp='cp'
pl="/data/PingTai_V3/"
#AGGE=1
plup_jar(){
echo "备份jar文件到目标位置file-日期,例如**jar-->**jar-06-05"
for file in `ls -R | grep .jar$`
do
echo "开始备份${file}"
find /data/PingTai_V3/ -name "${file}" | xargs -i cp {} {}$SUFFIX
find /data/PingTai_V3/ -name "${file}" | xargs -i cp $PWD/$file {}
echo "请比较确认当前文件的MD5值和目标文件值是否相同"
find /data/PingTai_V3/ -name "${file}" | xargs -i md5sum $PWD/$file {}
# mv $PWD/$file `find /data/PingTai_V3/ -name "${file}"`
done
echo "目标目录下的所有的备份过的所有jar包,---请确认"
find /data/PingTai_V3/ -name "`ls -R | grep .jar$`*"
}
#plup_jar
plup_tar_gz(){
webdir="/data/PingTai_V3/html/"
echo "备份jar文件到目标位置file-日期,例如**jar-->**jar-06-05"
for file in `ls -R | grep .tar.gz$ | awk -F ".tar.gz" '{print $1}'`
do
echo "开始改名${file}"
find /data/PingTai_V3/html/ -name "${file}" | xargs -i mv {} {}$SUFFIX
for i in `find $PWD/ -name "$file".tar.gz`
do
tar xvf $i -C $webdir
done
done
echo "目标目录下的所有的备份过的所有tar包,---请确认"
ls -l $webdir
}
restart_service(){
echo "当前更新的服务如下:"
docker ps -a |grep `ls -R $PWD/ | grep *.jar | uniq |awk -F "-" '{print $1"_" $2}'`
echo "重启容器中.............."
container=`docker ps -a |grep `ls -R $PWD/ | grep *.jar | uniq |awk -F "-" '{print $1"_" $2}'` | awk -F " " '{print $1}'`
docker restart $container
}
cp_otherfile(){
for file in `ls | egrep '(*.txt|*.mp3|*.mp4|*.apk|*.xlsx|*.png|*.docx)'`
do
echo "$PWD/$file复制文件到---->`find /data/PingTai_V3/ -name "$file"`"
cp "$PWD/$file" find /data/PingTai_V3/ -name "$file"
done
}
#plup_tar_gz
##
##
clear_old(){
find $pl -name "*${SUFFIX}" | xargs -i rm -rf {}
}
usage(){
cat <<EOF
Usage: clamav-config [OPTION]
Known values for OPTION are:
这个脚本可以递归检索文件并进行更新文件,更新后最好验收一下:
plup_tar 把当前目录下所有的tar.gz文件找到目标后改名为文件-月-日,不删除当前.tar.gz包
plup_jar_gz 把当前目录下所有的.jar文件找到后更改目标文件为文件-月-日,不删除当前.jar包
clear_old 删除当先文件夹下所有文件
back_old 移动备份文件-月-日保存到/root/back/下
restart_service 重启当前目录下包含jar文件的容器
cp_otherfile 只能到目标模板路径执行,不删除源文件,会覆盖目标文件,包含了 '(*.txt|*.mp3|*.mp4|*.apk|*.xlsx|*.png|*.docx)'
EOF
}
while test $# -gt 0; do
case "$1" in
-*=*) optarg=`echo "$1" | sed 's/[-_a-zA-Z0-9]*=//'` ;;
*) optarg= ;;
esac
case "$1" in
plup_jar)
plup_jar 0
;;
plup_tar_gz)
plup_tar_gz 0
;;
restart_service)
restart_service 0
;;
cp_otherfile)
cp_otherfile 0
;;
--version)
echo "测试版"
exit 0
;;
--help)
usage 0
;;
*)
usage
exit 1
;;
esac
shift
done
exit 0