Создадим файл restore_jira.sh и добавим в него код: #!/bin/bash
# === Настройки ===
JIRA_CONTAINER="jira"
DB_CONTAINER="jira-postgres"
DB_USER="jirauser"
DB_NAME="jiradb2"
BACKUP_DIR="/var/backups/jira"
LATEST_DB_BACKUP=$(ls -t $BACKUP_DIR/jira_db_backup_*.sql | head -n 1)
LATEST_DATA_BACKUP=$(ls -t $BACKUP_DIR/jira_data_*.tar.gz | head -n 1)
# Проверяем наличие бэкапов
if [[ -z "$LATEST_DB_BACKUP" || -z "$LATEST_DATA_BACKUP" ]]; then
echo "Ошибка: Не найдено файлов бэкапа!" >&2
exit 1
fi
echo "[$(date)] Начинаем восстановление Jira..." >> /tmp/restore.log
#1️⃣ Остановка контейнера Jira
echo "Остановка Jira..."
sudo docker stop $JIRA_CONTAINER
# 2️⃣ Восстановление данных Jira
echo "Восстановление файлов Jira..."
sudo docker run --rm -v jira_data:/data -v $BACKUP_DIR:/backup alpine tar xzvf /backup/$(basename $LATEST_DATA_BACKUP) -C /data
# 3️⃣ Восстановление базы данных
echo "Сброс БД..."
sudo docker exec -i $DB_CONTAINER psql -U $DB_USER -d postgres -c "DROP DATABASE $DB