Înapoi la blog
Ianuarie 13, 2026Ghiduri

Cum să configurezi backup-uri automate pe server Linux

Ghid pas cu pas despre configurarea scripturilor de backup automat folosind joburi cron pentru fișiere și baze de date.

Cum să configurezi backup-uri automate pe server Linux

Backup-urile regulate sunt esențiale pentru protejarea datelor tale. Acest ghid îți arată cum să configurezi backup-uri automate pentru fișierele și bazele tale de date folosind scripturi shell și joburi cron pe serverul tău Hiddence.

Crearea scriptului de backup

Creează un script de backup pentru fișierele tale:

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

Configurarea jobului Cron

Programează backup-uri automate folosind cron:

bash
sudo crontab -e
# Adaugă această linie pentru a rula backup zilnic la 2 AM
0 2 * * * /usr/local/bin/backup.sh >> /var/log/backup.log 2>&1

Script de backup bază de date

Creează script pentru backup-urile bazei de date 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

Stocare backup la distanță

Copiază backup-urile pe server la distanță folosind rsync sau 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/

Politica de păstrare a backup-urilor

Configurează păstrarea pentru a menține backup-urile o anumită perioadă:

bash
# Păstrează backup-uri zilnice timp de 7 zile
find /backups -name "backup_*.tar.gz" -mtime +7 -delete

# Păstrează backup-uri săptămânale timp de 4 săptămâni
find /backups/weekly -name "backup_*.tar.gz" -mtime +28 -delete

# Păstrează backup-uri lunare timp de 12 luni
find /backups/monthly -name "backup_*.tar.gz" -mtime +365 -delete

Cele mai bune practici de backup

  • Testează restaurarea backup-urilor în mod regulat
  • Stochează backup-urile în mai multe locații
  • Criptează datele de backup sensibile
  • Monitorizează jurnalele de backup pentru erori
  • Documentează procedurile tale de backup
  • Configurează alerte pentru eșecuri la backup