Erlaube freigegebenen Docker-Sudo-Pfad
This commit is contained in:
@@ -11,6 +11,7 @@ PG_DUMP_BIN="${PG_DUMP_BIN:-$(command -v pg_dump || true)}"
|
|||||||
PSQL_BIN="${PSQL_BIN:-$(command -v psql || true)}"
|
PSQL_BIN="${PSQL_BIN:-$(command -v psql || true)}"
|
||||||
DOCKER_BIN="${DOCKER_BIN:-$(command -v docker || true)}"
|
DOCKER_BIN="${DOCKER_BIN:-$(command -v docker || true)}"
|
||||||
COMPOSE_FILE="${COMPOSE_FILE:-${ROOT_DIR}/scripts/db/backup-client/docker-compose.yml}"
|
COMPOSE_FILE="${COMPOSE_FILE:-${ROOT_DIR}/scripts/db/backup-client/docker-compose.yml}"
|
||||||
|
DOCKER_CMD=()
|
||||||
|
|
||||||
if [[ ! -f "${ENV_FILE}" ]]; then
|
if [[ ! -f "${ENV_FILE}" ]]; then
|
||||||
echo "Missing environment file: ${ENV_FILE}" >&2
|
echo "Missing environment file: ${ENV_FILE}" >&2
|
||||||
@@ -38,6 +39,15 @@ if [[ ! -f "${COMPOSE_FILE}" ]]; then
|
|||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
if "${DOCKER_BIN}" info >/dev/null 2>&1; then
|
||||||
|
DOCKER_CMD=("${DOCKER_BIN}")
|
||||||
|
elif sudo -n "${DOCKER_BIN}" info >/dev/null 2>&1; then
|
||||||
|
DOCKER_CMD=(sudo -n "${DOCKER_BIN}")
|
||||||
|
else
|
||||||
|
echo "Docker daemon is not accessible for this user." >&2
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
mkdir -p "${BACKUP_DIR}"
|
mkdir -p "${BACKUP_DIR}"
|
||||||
timestamp="$(date +%Y%m%d_%H%M%S)"
|
timestamp="$(date +%Y%m%d_%H%M%S)"
|
||||||
output_file="${BACKUP_DIR}/${FILE_PREFIX}_${DB_NAME}_${timestamp}.dump"
|
output_file="${BACKUP_DIR}/${FILE_PREFIX}_${DB_NAME}_${timestamp}.dump"
|
||||||
@@ -47,7 +57,7 @@ cleanup() { rm -f "${temporary_file}"; }
|
|||||||
trap cleanup EXIT
|
trap cleanup EXIT
|
||||||
|
|
||||||
export BACKUP_DIR
|
export BACKUP_DIR
|
||||||
"${DOCKER_BIN}" compose --file "${COMPOSE_FILE}" run --rm --no-deps -T backup
|
"${DOCKER_CMD[@]}" compose --file "${COMPOSE_FILE}" run --rm --no-deps -T backup
|
||||||
|
|
||||||
if [[ ! -s "${BACKUP_DIR}/current.dump" ]]; then
|
if [[ ! -s "${BACKUP_DIR}/current.dump" ]]; then
|
||||||
echo "Backup failed: container dump file is empty." >&2
|
echo "Backup failed: container dump file is empty." >&2
|
||||||
|
|||||||
Reference in New Issue
Block a user