commit
86a7940e75
7 changed files with 182 additions and 0 deletions
@ -0,0 +1,3 @@
@@ -0,0 +1,3 @@
|
||||
# Default ignored files |
||||
/shelf/ |
||||
/workspace.xml |
||||
@ -0,0 +1,4 @@
@@ -0,0 +1,4 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?> |
||||
<project version="4"> |
||||
<component name="VcsDirectoryMappings" defaultProject="true" /> |
||||
</project> |
||||
@ -0,0 +1,57 @@
@@ -0,0 +1,57 @@
|
||||
#Укажи 1, чтобы снять дамп с event_store, 0 если без event_store |
||||
EVENT_STORE=1 |
||||
|
||||
#Укажи 1, чтобы скачать папку evt целиком, 0 чтобы скачать только файлы из evt/common |
||||
EVT_COMMON=1 |
||||
|
||||
|
||||
# Пароль БД исходного сервера |
||||
SOURCE_DB_PASSWORD=anna5kanna |
||||
|
||||
#Имя БД на исходном сервере |
||||
SOURCE_DB_NAME=mynewdb |
||||
|
||||
#Имя БД на локальном сервере |
||||
DESTINATION_DB_NAME=locality409 |
||||
|
||||
#Номер evt на исходном сервере |
||||
SOURCE_EVT=evt4 |
||||
|
||||
|
||||
|
||||
#IP локалки с платформой |
||||
DESTINATION_IP=217.107.34.92 |
||||
|
||||
#Пользователь локалки с платформой |
||||
DESTINATION_USER=root |
||||
|
||||
#Пароль локалки с платформой |
||||
DESTINATION_PASSWORD=123saveme |
||||
|
||||
#SSH порт локалки с платформой |
||||
DESTINATION_PORT=22 |
||||
|
||||
|
||||
|
||||
#IP локалки с базой |
||||
DESTINATION_DATABASE_IP=217.107.34.92 |
||||
|
||||
#Пользователь локалки с базой |
||||
DESTINATION_DATABASE_USER=root |
||||
|
||||
#SSH Пароль локалки с базой |
||||
DESTINATION_DATABASE_PASSWORD=123saveme |
||||
|
||||
#SSH порт локалки с базой |
||||
DESTINATION_DATABASE_PORT=22 |
||||
|
||||
#Postgres пароль локалки с базой |
||||
DESTINATION_POSTGRES_PASSWORD=anna5kanna |
||||
|
||||
|
||||
|
||||
#Где платформа на исходном серевере (не надо добавлять слэш в конце;) |
||||
SOURCE_PLATFORM_PATH=/home/platform5-server |
||||
|
||||
#Где платформа на локалке |
||||
DESTINATION_PLATFORM_PATH=/home/platform5-server |
||||
@ -0,0 +1,10 @@
@@ -0,0 +1,10 @@
|
||||
#!/bin/bash |
||||
|
||||
su - postgres -c "PGPASSWORD=\"anna5kanna\" psql -U postgres -c \"create database locality409 |
||||
WITH OWNER = postgres |
||||
ENCODING = 'UTF8' |
||||
TABLESPACE = pg_default |
||||
LC_COLLATE = 'ru_RU.UTF-8' |
||||
LC_CTYPE = 'ru_RU.UTF-8' |
||||
TEMPLATE = template0 |
||||
CONNECTION LIMIT = -1;\"" |
||||
@ -0,0 +1,11 @@
@@ -0,0 +1,11 @@
|
||||
#!/bin/bash |
||||
|
||||
su - postgres -c "PGPASSWORD=\"DESTINATION_POSTGRES_PASSWORD\" psql -U postgres -c \"create database DESTINATION_DB_NAME |
||||
WITH OWNER = postgres |
||||
ENCODING = 'UTF8' |
||||
TABLESPACE = pg_default |
||||
LC_COLLATE = 'ru_RU.UTF-8' |
||||
LC_CTYPE = 'ru_RU.UTF-8' |
||||
TEMPLATE = template0 |
||||
CONNECTION LIMIT = -1;\"" |
||||
|
||||
@ -0,0 +1,67 @@
@@ -0,0 +1,67 @@
|
||||
#!/bin/bash |
||||
#apt update && apt install sshpass -y |
||||
set -a # export variables from config.txt test |
||||
source config.txt |
||||
set +a # stop exporting |
||||
|
||||
DATE="$(date +%Y-%m-%d_%H-%M-%S)" |
||||
echo $DATE |
||||
|
||||
#1. We are on the source (e.g. main) |
||||
systemctl is-active --quiet platform5.service && systemctl stop platform5 |
||||
systemctl is-active --quiet platform6.service && systemctl stop platform6 |
||||
|
||||
db_backup() { |
||||
echo EVENT_STORE=$EVENT_STORE |
||||
if [[ "$EVENT_STORE" == 0 ]]; then |
||||
echo Making backup without event_store |
||||
PGPASSWORD="$SOURCE_DB_PASSWORD" pg_dump -Fc -T event_store -U postgres $SOURCE_DB_NAME > /var/backups/$SOURCE_DB_NAME.migration.$DATE.sql |
||||
elif [[ "$EVENT_STORE" == 1 ]]; then |
||||
echo Making backup with event_store |
||||
PGPASSWORD="$SOURCE_DB_PASSWORD" pg_dump -Fc -U postgres $SOURCE_DB_NAME > /var/backups/$SOURCE_DB_NAME.migration.$DATE.sql |
||||
else echo "EVENT_STORE value must be 0 or 1" && exit |
||||
fi |
||||
|
||||
echo "send dump to the destination" |
||||
echo Sending db backup to destination server |
||||
cd /var/backups/ && yes | sshpass -p "$DESTINATION_DATABASE_PASSWORD" scp -P $DESTINATION_DATABASE_PORT -o StrictHostKeyChecking=no $SOURCE_DB_NAME.migration.$DATE.sql $DESTINATION_DATABASE_USER@$DESTINATION_DATABASE_IP:~/ |
||||
cd - |
||||
} |
||||
|
||||
evt_full_rsync(){ |
||||
echo "send $SOURCE_EVT to the destination" |
||||
sshpass -p "$DESTINATION_PASSWORD" rsync -e "ssh -p $DESTINATION_PORT" -avz --ignore-existing $SOURCE_PLATFORM_PATH/bin/storage/1/$SOURCE_EVT/ $DESTINATION_USER@$DESTINATION_IP:$DESTINATION_PLATFORM_PATH/bin/storage/1/$SOURCE_EVT/ |
||||
} |
||||
|
||||
evt_common_files_rsync(){ |
||||
echo "send files from $SOURCE_EVT/common to the destination" |
||||
sshpass -p "$DESTINATION_PASSWORD" ssh $DESTINATION_USER@$DESTINATION_IP -p $DESTINATION_PORT "mkdir -p $DESTINATION_PLATFORM_PATH/bin/storage/1/$SOURCE_EVT/common/" |
||||
sshpass -p "$DESTINATION_PASSWORD" rsync -e "ssh -p $DESTINATION_PORT" -avz --ignore-existing -f"- */" -f"+ *" $SOURCE_PLATFORM_PATH/bin/storage/1/$SOURCE_EVT/common/ $DESTINATION_USER@$DESTINATION_IP:$DESTINATION_PLATFORM_PATH/bin/storage/1/$SOURCE_EVT/common/ |
||||
} |
||||
|
||||
fonts_rsync(){ |
||||
echo "send fonts to the destination" |
||||
sshpass -p "$DESTINATION_PASSWORD" ssh $DESTINATION_USER@$DESTINATION_IP -p $DESTINATION_PORT "mkdir -p $DESTINATION_PLATFORM_PATH/bin/storage/1/fonts/" |
||||
sshpass -p "$DESTINATION_PASSWORD" rsync -e "ssh -p $DESTINATION_PORT" -avz --ignore-existing $SOURCE_PLATFORM_PATH/bin/storage/1/fonts/ $DESTINATION_USER@$DESTINATION_IP:$DESTINATION_PLATFORM_PATH/bin/storage/1/fonts/ |
||||
} |
||||
|
||||
if [[ "$EVT_COMMON" == 0 ]]; then |
||||
echo "Качаю файлы из evt/common" |
||||
# evt_common_files_rsync |
||||
elif [[ "$EVT_COMMON" == 1 ]]; then |
||||
echo "Качаю evt целиком" |
||||
# evt_full_rsync |
||||
else echo "EVENT_COMMON value must be 0 or 1" && exit |
||||
fi |
||||
|
||||
#db_backup |
||||
|
||||
sed -e "s/DESTINATION_DB_NAME/${DESTINATION_DB_NAME}/" \ |
||||
-e "s/DESTINATION_POSTGRES_PASSWORD/${DESTINATION_POSTGRES_PASSWORD}/"\ |
||||
create_db.sh.template > create_db.sh |
||||
|
||||
sshpass -p "$DESTINATION_DATABASE_PASSWORD" ssh -p $DESTINATION_DATABASE_PORT $DESTINATION_DATABASE_USER@$DESTINATION_DATABASE_IP 'bash -s' < create_db.sh |
||||
#evt_full_rsync |
||||
#evt_common_files_rsync |
||||
#fonts_rsync |
||||
#ssh $DESTINATION_USER@$DESTINATION_IP -p $DESTINATION_PORT "create_db.sh." |
||||
@ -0,0 +1,30 @@
@@ -0,0 +1,30 @@
|
||||
|
||||
|
||||
|
||||
1. Стоп сервера |
||||
2. Снятие дампа (с евент стором/без евент стора) |
||||
|
||||
5. Отправка его на удаленный сервер/стянуть с удаленного сервера |
||||
6. Создание базы |
||||
7. Вотсановление дампа |
||||
|
||||
|
||||
8. скачиванние платформы, ветку берем из конфига. фронт и бэк. |
||||
|
||||
9. рсикаем нужный евт в сторадж. |
||||
фонт |
||||
|
||||
из evt/common качаем все файлы , не папки, |
||||
|
||||
скрипт 2 - докачка файлов. |
||||
потом отдельно докачиваем папки |
||||
если звездочка то все. если не звезочка то перечислкенные через запятую имена папок. |
||||
|
||||
|
||||
10. Исправление конфига дб конф |
||||
|
||||
в конфиг ставим пароль бд на удаленной. потм прописываем его в дб.конф |
||||
|
||||
11. Докачка нужных файлов. - скрипт2 |
||||
|
||||
старт сервиса |
||||
Loading…
Reference in new issue