Назад до блогу
Січень 13, 2026Посібники

Як налаштувати автоматичне резервне копіювання на Linux-сервері

Покроковий посібник із налаштування автоматизованих скриптів резервного копіювання за допомогою завдань cron для файлів та баз даних.

Як налаштувати автоматичне резервне копіювання на Linux-сервері

Регулярне резервне копіювання необхідне для захисту ваших даних. Цей посібник покаже вам, як налаштувати автоматичне резервне копіювання для ваших файлів і баз даних за допомогою shell-скриптів і завдань cron на вашому сервері Hiddence.

Створення скрипта резервного копіювання

Створіть скрипт резервного копіювання для ваших файлів:

bash
sudo nano /usr/local/bin/backup.sh
#!/bin/bash
BACKUP_DIR="/backups"
SOURCE_DIR="/var/www"
DATE=$(date +%Y%m%d_%H%M%S)
mkdir -p $BACKUP_DIR
tar -czf $BACKUP_DIR/backup_$DATE.tar.gz $SOURCE_DIR
find $BACKUP_DIR -name "backup_*.tar.gz" -mtime +7 -delete
sudo chmod +x /usr/local/bin/backup.sh

Налаштування завдання Cron

Заплануйте автоматичне резервне копіювання за допомогою cron:

bash
sudo crontab -e
# Додайте цей рядок, щоб запускати резервне копіювання щодня о 2 годині ночі
0 2 * * * /usr/local/bin/backup.sh >> /var/log/backup.log 2>&1

Скрипт резервного копіювання бази даних

Створіть скрипт для резервного копіювання бази даних MySQL:

bash
sudo nano /usr/local/bin/db_backup.sh
#!/bin/bash
BACKUP_DIR="/backups/db"
DB_NAME="your_database"
DB_USER="root"
DB_PASS="your_password"
DATE=$(date +%Y%m%d_%H%M%S)
mkdir -p $BACKUP_DIR
mysqldump -u $DB_USER -p$DB_PASS $DB_NAME > $BACKUP_DIR/db_backup_$DATE.sql
gzip $BACKUP_DIR/db_backup_$DATE.sql
find $BACKUP_DIR -name "db_backup_*.sql.gz" -mtime +7 -delete
sudo chmod +x /usr/local/bin/db_backup.sh

Віддалене сховище резервних копій

Копіюйте резервні копії на віддалений сервер за допомогою rsync або SCP:

bash
#!/bin/bash
BACKUP_DIR="/backups"
REMOTE_HOST="backup-server.com"
REMOTE_USER="backup"
REMOTE_DIR="/backups"
rsync -avz -e ssh $BACKUP_DIR/ $REMOTE_USER@$REMOTE_HOST:$REMOTE_DIR/

Політика зберігання резервних копій

Налаштуйте термін зберігання резервних копій:

bash
# Зберігати щоденні резервні копії протягом 7 днів
find /backups -name "backup_*.tar.gz" -mtime +7 -delete

# Зберігати щотижневі резервні копії протягом 4 тижнів
find /backups/weekly -name "backup_*.tar.gz" -mtime +28 -delete

# Зберігати щомісячні резервні копії протягом 12 місяців
find /backups/monthly -name "backup_*.tar.gz" -mtime +365 -delete

Найкращі практики резервного копіювання

  • Регулярно тестуйте відновлення з резервних копій
  • Зберігайте резервні копії в декількох місцях
  • Шифруйте конфіденційні дані резервних копій
  • Моніторьте журнали резервного копіювання на наявність помилок
  • Документуйте процедури резервного копіювання
  • Налаштуйте сповіщення про збої резервного копіювання