3.1 KiB
3.1 KiB
Настройка автоматического резервного копирования БД
🎯 Автоматический бэкап дважды в день
Система автоматически создаёт бэкапы PROD и DEV БД:
- 00:00 (полночь)
- 12:00 (полдень)
📋 Установка
cd /var/www/platform/prod
# Сделать скрипты исполняемыми
chmod +x backup-db-auto.sh setup-cron-backup.sh remove-cron-backup.sh
# Настроить автоматический бэкап
./setup-cron-backup.sh
✅ Проверка
# Проверить, что задача добавлена в cron
crontab -l | grep backup-db-auto
# Должно быть:
# 0 0,12 * * * PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin /var/www/platform/prod/backup-db-auto.sh >> /var/www/platform/prod/backups/cron.log 2>&1
📊 Логи
# Логи автоматических бэкапов
tail -f /var/www/platform/prod/backups/backup.log
# Логи cron (ошибки выполнения)
tail -f /var/www/platform/prod/backups/cron.log
🗂️ Хранение бэкапов
- Директория:
/var/www/platform/prod/backups/ - Формат файлов:
platform_prod_db_YYYYMMDD_HHMMSS.sql.gz - Автоочистка: Бэкапы старше 30 дней удаляются автоматически
- Проверка места: При использовании диска > 80% в лог пишется предупреждение
🔄 Ручной запуск
# Запустить бэкап вручную (для тестирования)
/var/www/platform/prod/backup-db-auto.sh
🗑️ Удаление автоматического бэкапа
# Удалить задачу из cron
./remove-cron-backup.sh
# Или вручную
crontab -l | grep -v backup-db-auto | crontab -
📝 Что делает скрипт
- ✅ Проверяет, что контейнеры БД запущены
- ✅ Создаёт бэкапы PROD и DEV БД
- ✅ Сжимает бэкапы (gzip)
- ✅ Проверяет размер бэкапов
- ✅ Удаляет бэкапы старше 30 дней
- ✅ Логирует все действия
- ✅ Предупреждает о нехватке места на диске
⚠️ Важно
- Скрипт работает от пользователя
root(нужен доступ к Docker) - Бэкапы сохраняются в
/var/www/platform/prod/backups/ - Старые бэкапы (30+ дней) удаляются автоматически
- При ошибках информация записывается в лог
🔍 Мониторинг
# Посмотреть последние бэкапы
ls -lh /var/www/platform/prod/backups/*.sql.gz | tail -10
# Проверить размер всех бэкапов
du -sh /var/www/platform/prod/backups/
# Посмотреть последние записи в логе
tail -20 /var/www/platform/prod/backups/backup.log