feat(database-dump-via-docker-sock): 增加对EXEC_SHELL变量的支持以指定执行shell

This commit is contained in:
严浩
2025-09-23 15:41:01 +08:00
parent 3c688efbb3
commit 4cefdf398f
2 changed files with 25 additions and 4 deletions

View File

@@ -38,6 +38,7 @@ MYSQL_USER="root"
MYSQL_PASSWORD=""
MYSQL_PASSWORD_SET=0
EXEC_USER_OVERRIDE=""
EXEC_SHELL="sh"
detect_db_type_from_name() {
name_lower=$(printf '%s' "$1" | tr 'A-Z' 'a-z')
@@ -96,6 +97,10 @@ docker_exec() {
set -- "$@" --user="$exec_user"
fi
if [ -n "${EXEC_SHELL:-}" ]; then
set -- "$@" --shell="$EXEC_SHELL"
fi
curl -fsSL "https://Git.1-H.CC/Scripts/Linux/raw/branch/main/docker-exec-via-sock.sh" | sh -s -- "$@"
}
@@ -231,6 +236,7 @@ case $DB_TYPE in
BACKUP_EXTENSION=".sql.zst"
DUMP_CMD="pg_dumpall --username=\"\${POSTGRES_USER:-postgres}\" --clean"
COMPRESS_CMD="zstd"
EXEC_SHELL="bash"
;;
mysql)
BACKUP_EXTENSION=".sql.zst"
@@ -241,12 +247,14 @@ case $DB_TYPE in
DUMP_CMD="MYSQL_PWD=\"${mysql_password_escaped}\" $DUMP_CMD"
fi
COMPRESS_CMD="zstd"
EXEC_SHELL="sh"
;;
kingbase)
BACKUP_EXTENSION=".sql.zst"
DUMP_CMD="sys_dumpall --clean --username=\"\${DB_USER:-kingbase}\""
COMPRESS_CMD="zstd"
EXEC_USER_DEFAULT="root"
EXEC_SHELL="sh"
;;
*)
printf 'Unsupported database type: %s\n' "$DB_TYPE" >&2