From 6706548c20ec587de4db5641d17ccf24bf24b870 Mon Sep 17 00:00:00 2001 From: Ilya Mukhortov Date: Mon, 27 Jul 2026 19:20:13 +1000 Subject: [PATCH] light backup --- medicine/backup-light.sh | 57 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 57 insertions(+) create mode 100644 medicine/backup-light.sh diff --git a/medicine/backup-light.sh b/medicine/backup-light.sh new file mode 100644 index 0000000..0163efe --- /dev/null +++ b/medicine/backup-light.sh @@ -0,0 +1,57 @@ +#!/bin/sh +# Лайт-бэкап medicine для cloud: +# medicine-for-cloud-base.tar.gz — основа без тяжёлых данных +# +# Исключены данные: +# booking_*, registry_*, +# record_group, record_hospitaltransferdepartment, record_preferentialcategory, +# record_record, record_recordservice, record_signeddocument +# (+ прочие тяжёлые/технические таблицы) +# +# record_case* остаются в основном дампе. +# +# Restore: +# tar -xzf medicine-for-cloud-base.tar.gz +# psql -U postgres -d medicine -f medicine-for-cloud-base.sql + +set -e +export LC_ALL=C + +CONTAINER="${POSTGRES_CONTAINER:-medicine-stack-postgres}" +DB_USER="${POSTGRES_USER:-postgres}" +DB_NAME="${POSTGRES_DB:-medicine}" +BACKUP_DIR="${BACKUP_DIR:-${HOME}/medicine-backups}" + +mkdir -p "${BACKUP_DIR}" +cd "${BACKUP_DIR}" + +base_sql="medicine-for-cloud-base.sql" +base_archive="medicine-for-cloud-base.tar.gz" + +echo "==> base dump: ${base_sql}" +docker exec -i "${CONTAINER}" pg_dump --no-owner -U "${DB_USER}" -F p "${DB_NAME}" \ + --exclude-table-data=riisz_logging \ + --exclude-table-data=patient_changes \ + --exclude-table-data=все_талоны_подробно \ + --exclude-table-data=талоны_подробно \ + --exclude-table-data=все_талоны \ + --exclude-table-data=пациенты \ + --exclude-table-data='historical_*' \ + --exclude-table-data='local_*' \ + --exclude-table-data='reversion_*' \ + --exclude-table-data='booking_*' \ + --exclude-table-data='registry_*' \ + --exclude-table-data=record_group \ + --exclude-table-data=record_hospitaltransferdepartment \ + --exclude-table-data=record_preferentialcategory \ + --exclude-table-data=record_record \ + --exclude-table-data=record_recordservice \ + --exclude-table-data=record_signeddocument \ + > "${base_sql}" + +echo "==> archive: ${base_archive}" +rm -f "${base_archive}" +tar -czf "${base_archive}" "${base_sql}" +rm -f "${base_sql}" + +echo "Done: ${BACKUP_DIR}/${base_archive}"