#!/usr/bin/env bash # Резервная копия нативной установки set -euo pipefail SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" # shellcheck source=../lib/common.sh source "${SCRIPT_DIR}/../lib/common.sh" [[ "${EUID}" -ne 0 ]] && exec sudo -E bash "${SCRIPT_DIR}/backup.sh" "$@" cd "${SCRIPT_DIR}" [[ -f .env ]] || { echo "[ERROR] .env не найден"; exit 1; } # shellcheck disable=SC1091 source .env TS="$(date +%Y-%m-%d_%H-%M-%S)" BD="${SCRIPT_DIR}/backups/backup_${TS}" ARCH="${SCRIPT_DIR}/backups/nextcloud_native_${TS}.tar.gz" mkdir -p "${BD}" run_occ "${NEXTCLOUD_INSTALL_DIR}" maintenance:mode --on 2>/dev/null || true mariadb-dump -u "${DB_USER}" -p"${DB_PASSWORD}" \ --single-transaction "${DB_NAME}" > "${BD}/database.sql" tar czf "${BD}/nextcloud_files.tar.gz" \ -C "$(dirname "${NEXTCLOUD_INSTALL_DIR}")" "$(basename "${NEXTCLOUD_INSTALL_DIR}")" cp .env "${BD}/install.env" run_occ "${NEXTCLOUD_INSTALL_DIR}" maintenance:mode --off 2>/dev/null || true tar czf "${ARCH}" -C "${SCRIPT_DIR}/backups" "backup_${TS}" rm -rf "${BD}" echo "[INFO] Бэкап: ${ARCH}"