Добавление скрипта mongodb_restore_generic.sh
Для использования скрипта восстановления необходимо подключиться к серверу группы squadus_infra и выполнить следующие операции:
-
Создать в каталоге
/srv/docker/mongodb/backup_scripts/файл с именемmongodb_restore_generic.sh -
Скопировать код скрипта в файл.
#!/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
- Проверить, что у файла
mongodb_restore_generic.shесть права на исполнение. Для добавления прав следует использовать команду:
chmod 740 /srv/docker/mongodb/backup_scripts/mongodb_restore_generic.sh