Януари 13, 2026Ръководства
Как да конфигурирате автоматични резервни копия на Linux сървър
Ръководство стъпка по стъпка за настройка на автоматизирани скриптове за архивиране с помощта на cron задачи за файлове и бази данни.

Редовните резервни копия са от съществено значение за защитата на вашите данни. Това ръководство ви показва как да настроите автоматични резервни копия за вашите файлове и бази данни с помощта на 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Най-добри практики за архивиране
- Тествайте възстановяването на резервните копия редовно
- Съхранявайте резервни копия на няколко места
- Шифровайте чувствителните резервни данни
- Следете лог файловете за грешки при архивиране
- Документирайте процедурите си за архивиране
- Настройте сигнали за неуспешни архивирания