vmangos
This commit is contained in:
+20
-12
@@ -74,9 +74,17 @@ dump_remote_database() {
|
||||
local port="$4"
|
||||
local username="$5"
|
||||
local password="$6"
|
||||
local network=host
|
||||
|
||||
log "Создаю дамп AzerothCore ${database}"
|
||||
docker run --rm --network host \
|
||||
if [[ "$host" == host.docker.internal ]]; then
|
||||
host=127.0.0.1
|
||||
elif [[ "$host" == db ]]; then
|
||||
network="$(env_value VMANGOS_DOCKER_NETWORK)"
|
||||
network="${network:-vmangos_default}"
|
||||
fi
|
||||
|
||||
log "Создаю дамп vMaNGOS ${database}"
|
||||
docker run --rm --network "$network" \
|
||||
--env MYSQL_PWD="$password" \
|
||||
mysql:8.4 \
|
||||
mysqldump \
|
||||
@@ -125,7 +133,7 @@ main() {
|
||||
fi
|
||||
|
||||
local timestamp object_prefix web_database
|
||||
local acore_host acore_port acore_username acore_password acore_databases
|
||||
local vmangos_host vmangos_port vmangos_username vmangos_password vmangos_databases
|
||||
local database filename
|
||||
local -a databases=() files=()
|
||||
|
||||
@@ -134,15 +142,15 @@ main() {
|
||||
object_prefix="${object_prefix:-backups/databases}"
|
||||
object_prefix="${object_prefix%/}/$(date -u '+%Y/%m/%d')/${timestamp}"
|
||||
web_database="$(env_value DB_DATABASE)"
|
||||
acore_host="$(env_value AZEROTHCORE_AUTH_DB_HOST)"
|
||||
acore_port="$(env_value AZEROTHCORE_AUTH_DB_PORT)"
|
||||
acore_username="$(env_value AZEROTHCORE_AUTH_DB_USERNAME)"
|
||||
acore_password="$(env_value AZEROTHCORE_AUTH_DB_PASSWORD)"
|
||||
acore_databases="$(env_value DATABASE_BACKUP_ACORE_DATABASES)"
|
||||
acore_databases="${acore_databases:-acore_auth acore_characters acore_world acore_playerbots store}"
|
||||
vmangos_host="$(env_value VMANGOS_AUTH_DB_HOST)"
|
||||
vmangos_port="$(env_value VMANGOS_AUTH_DB_PORT)"
|
||||
vmangos_username="$(env_value VMANGOS_AUTH_DB_USERNAME)"
|
||||
vmangos_password="$(env_value VMANGOS_AUTH_DB_PASSWORD)"
|
||||
vmangos_databases="$(env_value DATABASE_BACKUP_VMANGOS_DATABASES)"
|
||||
vmangos_databases="${vmangos_databases:-realmd characters mangos logs}"
|
||||
|
||||
[[ -n "$web_database" ]] || fail 'DB_DATABASE не задан'
|
||||
[[ -n "$acore_host" && -n "$acore_port" && -n "$acore_username" ]] || fail 'Не настроено подключение к AzerothCore'
|
||||
[[ -n "$vmangos_host" && -n "$vmangos_port" && -n "$vmangos_username" ]] || fail 'Не настроено подключение к vMaNGOS'
|
||||
validate_database_name "$web_database"
|
||||
|
||||
RUN_DIR="${BACKUP_WORK_DIR}/${timestamp}"
|
||||
@@ -154,10 +162,10 @@ main() {
|
||||
databases+=("$web_database")
|
||||
files+=("$filename")
|
||||
|
||||
for database in $acore_databases; do
|
||||
for database in $vmangos_databases; do
|
||||
validate_database_name "$database"
|
||||
filename="${database}.sql.gz"
|
||||
dump_remote_database "$database" "${RUN_DIR}/${filename}" "$acore_host" "$acore_port" "$acore_username" "$acore_password"
|
||||
dump_remote_database "$database" "${RUN_DIR}/${filename}" "$vmangos_host" "$vmangos_port" "$vmangos_username" "$vmangos_password"
|
||||
databases+=("$database")
|
||||
files+=("$filename")
|
||||
done
|
||||
|
||||
Reference in New Issue
Block a user