Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
Q
qa-deploy-utils
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
QA
qa-deploy-utils
Commits
20aeaaa7
Commit
20aeaaa7
authored
Nov 28, 2017
by
智勇
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
并发
parent
6719f903
Changes
2
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
108 additions
and
91 deletions
+108
-91
db_schema_sync.sh
db-utils/db_schema_sync.sh
+22
-5
sub_shell.sh
qa_shell_script/sub_shell.sh
+86
-86
No files found.
db-utils/db_schema_sync.sh
View file @
20aeaaa7
...
@@ -41,6 +41,18 @@ work_dir=/home/qa-deploy-utils/db-utils
...
@@ -41,6 +41,18 @@ work_dir=/home/qa-deploy-utils/db-utils
sync_config_folder
=
~/db_sync_configs
sync_config_folder
=
~/db_sync_configs
db_backup_folder
=
~/db_backups
db_backup_folder
=
~/db_backups
trap
"exec 1000>&-;exec 1000<&-;exit 0"
2
tempfifo
=
$$
.fifo
echo
"mkfifo /tmp/
$tempfifo
"
mkfifo
/tmp/
$tempfifo
exec
1000<
>
/tmp/
$tempfifo
rm
-rf
/tmp/
$tempfifo
for
((
i
=
1
;
i<
=
2
;
i++
))
do
echo
>
&1000
done
function
valid_ip
()
function
valid_ip
()
{
{
local
ip
=
$1
local
ip
=
$1
...
@@ -121,11 +133,16 @@ fi
...
@@ -121,11 +133,16 @@ fi
echo
"database_list:
${
database_list
}
"
echo
"database_list:
${
database_list
}
"
for
db_name
in
$database_list
for
db_name
in
$database_list
do
do
echo
"----------------------------------------------------"
read
-u1000
echo
"--- start sync
$db_name
---"
{
db_schema_sync
$db_name
echo
"----------------------------------------------------"
run_sql_file
$db_name
echo
"--- start sync
$db_name
---"
echo
"--- end sync
$db_name
---"
db_schema_sync
$db_name
run_sql_file
$db_name
echo
"--- end sync
$db_name
---"
echo
>
&1000
}
&
done
done
wait
echo
"----------------------------------------------------"
echo
"----------------------------------------------------"
qa_shell_script/sub_shell.sh
View file @
20aeaaa7
...
@@ -43,97 +43,97 @@ echo "并发生成3个环境的配置文件,预计执行时间一分钟左右
...
@@ -43,97 +43,97 @@ echo "并发生成3个环境的配置文件,预计执行时间一分钟左右
#for ip_last_num in '15'
#for ip_last_num in '15'
for
ip_last_num
in
${
ips
[@]
}
for
ip_last_num
in
${
ips
[@]
}
do
do
read
-u1000
read
-u1000
{
{
echo
"
`
date
+%T.%N
`
开始生成
${
IP_host_first
}${
ip_last_num
}
"
echo
"
`
date
+%T.%N
`
开始生成
${
IP_host_first
}${
ip_last_num
}
"
cd
/home/sub_config_file_dont_rm
cd
/home/sub_config_file_dont_rm
#不能直接RM 整个文件,会造成mount失效
#不能直接RM 整个文件,会造成mount失效
#rm -rf ${IP_host_first}${ip_last_num}
#rm -rf ${IP_host_first}${ip_last_num}
mkdir
-p
${
IP_host_first
}${
ip_last_num
}
mkdir
-p
${
IP_host_first
}${
ip_last_num
}
cd
${
IP_host_first
}${
ip_last_num
}
cd
${
IP_host_first
}${
ip_last_num
}
rm
-rf
java
rm
-rf
java
rm
-rf
node
rm
-rf
node
rm
-rf
ui
rm
-rf
ui
rm
-rf
python
rm
-rf
python
rm
-rf
public
rm
-rf
public
rm
-rf
nginx_conf.d
rm
-rf
nginx_conf.d
rm
-rf
pem_file
rm
-rf
pem_file
dir
=
`
pwd
`
dir
=
`
pwd
`
#java项目发布
#java项目发布
mkdir
-p
$dir
/java
mkdir
-p
$dir
/java
mkdir
-p
$dir
/public/java
mkdir
-p
$dir
/public/java
cp
-rf
/home/config_files/java/
*
$dir
/java/
cp
-rf
/home/config_files/java/
*
$dir
/java/
cp
-rf
/home/config_files/java/
*
$dir
/public/java/
cp
-rf
/home/config_files/java/
*
$dir
/public/java/
sed
-i
"s/target_host_name/
${
IP_host_first
}${
ip_last_num
}
/"
$dir
/java/
*
sed
-i
"s/target_host_name/
${
IP_host_first
}${
ip_last_num
}
/"
$dir
/java/
*
sed
-i
"s/target_host_name/
${
IP_host_first
}${
ip_last_num
}
/"
$dir
/public/java/
*
sed
-i
"s/target_host_name/
${
IP_host_first
}${
ip_last_num
}
/"
$dir
/public/java/
*
sed
-i
"s/target_mq_host_name/
${
IP_host_first
}${
ip_last_num
}
/"
$dir
/java/
*
sed
-i
"s/target_mq_host_name/
${
IP_host_first
}${
ip_last_num
}
/"
$dir
/java/
*
sed
-i
"s/target_mq_host_name/
${
IP_host_first
}${
ip_last_num
}
/"
$dir
/public/java/
*
sed
-i
"s/target_mq_host_name/
${
IP_host_first
}${
ip_last_num
}
/"
$dir
/public/java/
*
#gu-bei的回调接口都改成外网接口
#gu-bei的回调接口都改成外网接口
#sed -i "s/callback=http:\/\/${IP_host_first}${ip_last_num}:7006/callback=http:\/\/${public_ip}:${ip_last_num}06/g" $dir/java/gu-bei.properties
#sed -i "s/callback=http:\/\/${IP_host_first}${ip_last_num}:7006/callback=http:\/\/${public_ip}:${ip_last_num}06/g" $dir/java/gu-bei.properties
#sed -i "s/pay_notify_url=http:\/\/${IP_host_first}${ip_last_num}:7006/pay_notify_url=http:\/\/${public_ip}:${ip_last_num}06/g" $dir/java/gu-bei.properties
#sed -i "s/pay_notify_url=http:\/\/${IP_host_first}${ip_last_num}:7006/pay_notify_url=http:\/\/${public_ip}:${ip_last_num}06/g" $dir/java/gu-bei.properties
sed
-i
"s/ip_last/
$ip_last_num
/g"
$dir
/java/
*
sed
-i
"s/ip_last/
$ip_last_num
/g"
$dir
/java/
*
sed
-i
"s/ip_last/
$ip_last_num
/g"
$dir
/public/java/
*
sed
-i
"s/ip_last/
$ip_last_num
/g"
$dir
/public/java/
*
#python项目发布
#python项目发布
mkdir
-p
$dir
/python
mkdir
-p
$dir
/python
cp
-rf
/home/config_files/python/
*
$dir
/python/
cp
-rf
/home/config_files/python/
*
$dir
/python/
sed
-i
"s/target_host_name/
${
IP_host_first
}${
ip_last_num
}
/"
$dir
/python/
*
sed
-i
"s/target_host_name/
${
IP_host_first
}${
ip_last_num
}
/"
$dir
/python/
*
sed
-i
"s/ip_last/
$ip_last_num
/g"
$dir
/python/
*
sed
-i
"s/ip_last/
$ip_last_num
/g"
$dir
/python/
*
#node项目发布
#node项目发布
mkdir
-p
$dir
/node
mkdir
-p
$dir
/node
mkdir
-p
$dir
/public/node
mkdir
-p
$dir
/public/node
cp
-rf
/home/config_files/node/
*
$dir
/node/
cp
-rf
/home/config_files/node/
*
$dir
/node/
cp
-rf
/home/config_files/node/
*
$dir
/public/node/
cp
-rf
/home/config_files/node/
*
$dir
/public/node/
sed
-i
"s/target_host_name/
${
IP_host_first
}${
ip_last_num
}
/"
$dir
/node/
*
sed
-i
"s/target_host_name/
${
IP_host_first
}${
ip_last_num
}
/"
$dir
/node/
*
sed
-i
"s/target_host_name/
${
IP_host_first
}${
ip_last_num
}
/g"
$dir
/public/node/
*
sed
-i
"s/target_host_name/
${
IP_host_first
}${
ip_last_num
}
/g"
$dir
/public/node/
*
sed
-i
"s/ip_last/
$ip_last_num
/g"
$dir
/node/
*
sed
-i
"s/ip_last/
$ip_last_num
/g"
$dir
/node/
*
sed
-i
"s/ip_last/
$ip_last_num
/g"
$dir
/public/node/
*
sed
-i
"s/ip_last/
$ip_last_num
/g"
$dir
/public/node/
*
#ui配置发布
#ui配置发布
mkdir
-p
$dir
/ui
mkdir
-p
$dir
/ui
mkdir
-p
$dir
/public/ui
mkdir
-p
$dir
/public/ui
cp
-rf
/home/config_files/ui/
*
$dir
/ui/
cp
-rf
/home/config_files/ui/
*
$dir
/ui/
cp
-rf
/home/config_files/ui/
*
$dir
/public/ui/
cp
-rf
/home/config_files/ui/
*
$dir
/public/ui/
sed
-i
"s/target_host_name/
${
IP_host_first
}${
ip_last_num
}
/g"
$dir
/ui/
*
sed
-i
"s/target_host_name/
${
IP_host_first
}${
ip_last_num
}
/g"
$dir
/ui/
*
sed
-i
"s/target_host_name/
${
IP_host_first
}${
ip_last_num
}
/g"
$dir
/public/ui/
*
sed
-i
"s/target_host_name/
${
IP_host_first
}${
ip_last_num
}
/g"
$dir
/public/ui/
*
#if [ $ip_last_num -lt 100 ]; then
#if [ $ip_last_num -lt 100 ]; then
# sed -i "s/target_host_name:7/${public_ip}:${ip_last_num}/g" $dir/public/ui/*
# sed -i "s/target_host_name:7/${public_ip}:${ip_last_num}/g" $dir/public/ui/*
#else
#else
#fi
#fi
sed
-i
"s/ip_last/
$ip_last_num
/g"
$dir
/public/ui/
*
sed
-i
"s/ip_last/
$ip_last_num
/g"
$dir
/public/ui/
*
sed
-i
"s/ip_last/
$ip_last_num
/g"
$dir
/ui/
*
sed
-i
"s/ip_last/
$ip_last_num
/g"
$dir
/ui/
*
#替换公网
#替换公网
for
multi
in
${
multis
[@]
}
for
multi
in
${
multis
[@]
}
do
do
{
{
pro
=
`
echo
$multi
|
awk
-F
'|'
'{print $1}'
`
pro
=
`
echo
$multi
|
awk
-F
'|'
'{print $1}'
`
port
=
`
echo
$multi
|
awk
-F
'|'
'{print $2}'
`
port
=
`
echo
$multi
|
awk
-F
'|'
'{print $2}'
`
#find $dir/public/ -type f -print | xargs -i sed -i "s/${IP_host_first}${ip_last_num}:$port/${pro}-${ip_last_num}.${public_ip}/g" {}
#find $dir/public/ -type f -print | xargs -i sed -i "s/${IP_host_first}${ip_last_num}:$port/${pro}-${ip_last_num}.${public_ip}/g" {}
#echo "sed -i "s/${IP_host_first}${ip_last_num}:$port/${pro}-${ip_last_num}.${public_ip}/g" $dir/public/*"
#echo "sed -i "s/${IP_host_first}${ip_last_num}:$port/${pro}-${ip_last_num}.${public_ip}/g" $dir/public/*"
sed
-i
"s/
${
IP_host_first
}${
ip_last_num
}
:
$port
/
${
pro
}
-
${
ip_last_num
}
.
${
public_ip
}
/g"
$dir
/public/java/
*
sed
-i
"s/
${
IP_host_first
}${
ip_last_num
}
:
$port
/
${
pro
}
-
${
ip_last_num
}
.
${
public_ip
}
/g"
$dir
/public/java/
*
sed
-i
"s/
${
IP_host_first
}${
ip_last_num
}
:
$port
/
${
pro
}
-
${
ip_last_num
}
.
${
public_ip
}
/g"
$dir
/public/node/
*
sed
-i
"s/
${
IP_host_first
}${
ip_last_num
}
:
$port
/
${
pro
}
-
${
ip_last_num
}
.
${
public_ip
}
/g"
$dir
/public/node/
*
sed
-i
"s/
${
IP_host_first
}${
ip_last_num
}
:
$port
/
${
pro
}
-
${
ip_last_num
}
.
${
public_ip
}
/g"
$dir
/public/ui/
*
sed
-i
"s/
${
IP_host_first
}${
ip_last_num
}
:
$port
/
${
pro
}
-
${
ip_last_num
}
.
${
public_ip
}
/g"
$dir
/public/ui/
*
}
}
done
done
#find $dir/public/ -type f -print | xargs -i sed -i "s/${IP_host_first}${ip_last_num}/www.${public_ip}/g" {}
#find $dir/public/ -type f -print | xargs -i sed -i "s/${IP_host_first}${ip_last_num}/www.${public_ip}/g" {}
#ngxin conf.d发布
#ngxin conf.d发布
mkdir
-p
$dir
/nginx_conf.d
mkdir
-p
$dir
/nginx_conf.d
cp
-rf
/home/config_files/nginx_conf.d/
*
$dir
/nginx_conf.d/
cp
-rf
/home/config_files/nginx_conf.d/
*
$dir
/nginx_conf.d/
#baitiao pem发布
#baitiao pem发布
mkdir
-p
$dir
/pem_file
mkdir
-p
$dir
/pem_file
cp
-rf
/home/config_files/pem_file/
*
$dir
/pem_file/
cp
-rf
/home/config_files/pem_file/
*
$dir
/pem_file/
# sed -i "s/target_host_name/${IP_host_first}${ip_last_num}/" $dir/nginx_conf.d/*
# sed -i "s/target_host_name/${IP_host_first}${ip_last_num}/" $dir/nginx_conf.d/*
echo
"
`
date
+%T.%N
`
结束
${
IP_host_first
}${
ip_last_num
}
"
echo
"
`
date
+%T.%N
`
结束
${
IP_host_first
}${
ip_last_num
}
"
echo
"---------"
echo
"---------"
echo
>
&1000
echo
>
&1000
}
&
}
&
done
done
wait
wait
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment