Skip to main content

Добавление скрипта mongodb_restore_generic.sh

Для использования скрипта восстановления необходимо подключиться к серверу группы squadus_infra и выполнить следующие операции:

  1. Создать в каталоге /srv/docker/mongodb/backup_scripts/ файл с именем mongodb_restore_generic.sh

  2. Скопировать код скрипта в файл.

#!/bin/bash
set -eo pipefail
if [ -z "$1" ]; then
echo "Usage: $0 <backup_filename>"
echo "Backups stored in /srv/backups/mongodb"
exit 1
fi
BACKUP_FILE="$1"
if [ ! -f "${BACKUP_FILE}" ]; then
echo "Error: File not found: ${BACKUP_FILE}"
exit 1
fi
RC=0
cat "${BACKUP_FILE}" | docker exec -i \
mongodb-backup sh -c "
mongorestore \
\$MONGODB_BACKUP_CONNECTION \
--nsExclude 'admin.system.*' \
--gzip \
--drop \
--stopOnError \
--archive" || RC=1
if [ "${RC}" -eq 0 ]
then
echo "Successfully restored"
exit 0
else
echo "Restoring failed"
exit 1
fi
  1. Проверить, что у файла mongodb_restore_generic.sh есть права на исполнение. Для добавления прав следует использовать команду:
chmod 740 /srv/docker/mongodb/backup_scripts/mongodb_restore_generic.sh