2 недели назад
«Здраво мыслящие»
1
подписчик
Добра всем и надежды!…
Опубликовано фото
:56 INTERMEDIARY BANK
: Raiffeisen Bank International AG, Vienna, Austria, SWIFT: RZBAATWW :CORRESPONDENT BANK: Aktif Yatirim Bankasi A.S., Istanbul, Turkey, SWIFT: CAYTTRIS :57 BENEFICIARY BANK: OJSC BAKAI BANK, Bishkek, Kyrgyz Republic, SWIFT: BAKAKG22. Account number: TR280014300000000009443581...
Опубликовано фото
Опубликовано фото
Опубликовано фото
в кластере Docker Swarm у каждого контейнера тенанта (а их сотни) своя база postgresql в контейнере
в кластере Docker Swarm у каждого контейнера тенанта (а их сотни) своя база postgresql в контейнере. также в кластере установлен minio и n8n. необходимо реализовать сценарий резервного копирования (физический + логический wal) с сохранением бэкапов в minio, с использованием автоматизации n8n. подскажи правильный сценарий...
echo "Starting physical backup for ${CONTAINER_NAME} at $(date
{ echo "Starting physical backup for ${CONTAINER_NAME} at $(date)" mkdir -p ${BACKUP_DIR} # Выполнение pg_basebackup через сеть Docker export PGPASSWORD=${POSTGRES_PASSWORD} pg_basebackup \ -h ${CONTAINER_NAME} \ -U postgres \ -D ${BACKUP_DIR} \ -F tar \ -X stream \ -P \ -v if [ $? -eq 0 ]; then echo "Physical backup completed successfully" # Архивирование tar -czf ${BACKUP_DIR}.tar.gz -C ${BACKUP_DIR} . # Загрузка в MinIO /usr/local/bin/mc alias set minio-backup ${MINIO_ENDPOINT} ${MINIO_ACCESS_KEY} ${MINIO_SECRET_KEY} /usr/local/bin/mc cp ${BACKUP_DIR}.tar.gz minio-backup/${MINIO_BUCKET}/${CONTAINER_NAME}/physical/ # Очистка rm -rf ${BACKUP_DIR} ${BACKUP_DIR}...
Вы абсолютно правы! Я описал концепцию, но не показал конкретную реализацию Backup Manager
Вы абсолютно правы! Я описал концепцию, но не показал конкретную реализацию Backup Manager. Исправляюсь: 1. Специализированный Backup Manager Dockerfile FROM postgres:15 # Установка необходимых утилит RUN apt-get update && apt-get install -y \ curl \ python3 \ python3-pip \ && rm -rf /var/lib/apt/lists/* # Установка MinIO Client RUN curl https://dl.min.io/client/mc/release/linux-amd64/mc \ -o /usr/local/bin/mc && \ chmod +x /usr/local/bin/mc # Установка Python библиотек для работы с Docker API RUN pip3 install docker python-crontab # Создание директорий для скриптов RUN mkdir -p /opt/backup-manager/scripts...
return True
return True else: self.logger.error(f"Physical backup failed for {container_name}: {result.stderr}") return False except Exception as e: self.logger.error(f"Error executing physical backup for {container_name}: {e}") return False def execute_logical_backup(self, container_name, network): """Выполнение логического бэкапа""" try: cmd = [ '/opt/backup-manager/scripts/logical-backup.sh', container_name, network ] result = subprocess.run(cmd, capture_output=True, text=True) if result.returncode == 0: self.logger.info(f"Logical backup successful for {container_name}") return True else: self.logger...
https://623ec12b.withblancvpn.online/s/5834320c5e11472c90fbc0de02d81d02