Резервирование при использовании хранилища MinIO
При использовании в качестве хранилища S3 сервиса MinIO, находящегося в составе дистрибутива, следует использовать сценарий, представленный ниже:
#!/bin/bash
set -e
BACKUP_DIR="<BACKUP_DIR>"
MINIO_IMAGE="<MINIO_IMAGE_NAME>"
MINIO_VERSION="<VERSION>"
MINIO_URL="<MINIO_URL>"
MINIO_ACCESS_KEY="<ACCESS_KEY>"
MINIO_SECRET_KEY="<SECRET_KEY>"
MINIO_ALIAS_NAME="<MINIO_ALIAS_NAME>"
MINIO_BUCKET="<MINIO_BUCKET>"
RC=0
docker run --net=host -it --entrypoint=bash -v ${BACKUP_DIR}:${BACKUP_DIR} \
pgs-private-registry:5001/${MINIO_IMAGE}:${MINIO_VERSION} -c \
"mc alias set ${MINIO_ALIAS_NAME} ${MINIO_URL} ${MINIO_ACCESS_KEY} \
${MINIO_SECRET_KEY};
mc mirror --remove --preserve ${MINIO_ALIAS_NAME}/${MINIO_BUCKET} $BACKUP_DIR/" \
|| RC=1
if [ ${RC} = 0 ]
then
echo "Successfully backup"
else
echo "Backup Failed"
fi
warning
В каталоге `<BACKUP_DIR>` перед копированием будут удалены все данные.
Для выполнения резервного копирования необходимо присвоить значения переменным, перечисленным в таблице. Остальные настройки следует оставить без изменений.
| Наименование переменной | Описание | Пример |
|---|---|---|
`<BACKUP_DIR>` | Путь к месту хранения копий | `/opt/Pythagoras/backup` |
`<MINIO_IMAGE>` | Наименование образа компонента в релизе (вводится без кавычек) | pgs/minio |
`<VERSION>` | Версия компонента в релизе | 2023.12.13-1-astra |
`<MINIO_URL>` | URL S3-сервиса MinIO | http://minio:9000 |
`<ACCESS_KEY>` | MinIO access key | minio |
`<SECRET_KEY>` | MinIO secret key | minio123 |
`<MINIO_ALIAS_NAME>` | Имя alias для текущего S3 сервиса (8 символов) | myminio |
`<MINIO_BUCKET>` | Имя bucket, резервная копия которого выполняется | pgs-files |