Резервное копирование MySQL на VPS: автоматизация

VDS / VPS серверы · 25.01.2026
Резервное копирование MySQL на VPS: автоматизация

Потеря базы данных — катастрофа для бизнеса. Автоматические ежедневные бэкапы — это страховка, которую настраивают один раз и забывают.

Простой скрипт резервного копирования

#!/bin/bash
# /usr/local/bin/mysql-backup.sh

DB_USER="root"
DB_PASS="ВашПароль"
BACKUP_DIR="/var/backups/mysql"
DATE=$(date +%Y-%m-%d_%H-%M)
KEEP_DAYS=7

mkdir -p "$BACKUP_DIR"

# Получить список всех баз данных
DATABASES=$(mysql -u"$DB_USER" -p"$DB_PASS" -e "SHOW DATABASES;" |   grep -Ev "(Database|information_schema|performance_schema|sys)")

for DB in $DATABASES; do
    echo "Backup: $DB"
    mysqldump -u"$DB_USER" -p"$DB_PASS"       --single-transaction       --routines       --triggers       "$DB" | gzip > "$BACKUP_DIR/${DB}_${DATE}.sql.gz"
done

# Удалить старые бэкапы
find "$BACKUP_DIR" -name "*.sql.gz" -mtime +"$KEEP_DAYS" -delete

echo "Backup complete: $(ls -lh $BACKUP_DIR | tail -5)"
chmod +x /usr/local/bin/mysql-backup.sh

# Добавить в cron (каждый день в 2:00)
echo "0 2 * * * root /usr/local/bin/mysql-backup.sh >> /var/log/mysql-backup.log 2>&1"   >> /etc/crontab

Восстановление из бэкапа

# Распаковать и восстановить
gunzip < /var/backups/mysql/mydb_2026-01-25_02-00.sql.gz |   mysql -u root -p mydb

Хранение бэкапов в облаке (S3/Backblaze)

# Установить AWS CLI
sudo apt install -y awscli

# Настроить
aws configure

# Загрузить в S3
aws s3 sync /var/backups/mysql/ s3://your-bucket/mysql-backups/   --storage-class STANDARD_IA
⚠️ Храните бэкапы вне сервера. Если сервер взломан или умер — локальный бэкап тоже потерян.
✅ ZevsHost делает автоматические снапшоты VPS раз в сутки. Плюс собственный скрипт бэкапа БД — идеальная защита.
← Назад в базу знаний Задать вопрос поддержке