Torna al blog
Gennaio 13, 2026Guide

Come configurare i backup automatici su un server Linux

Guida passo-passo sull'impostazione di script di backup automatizzati utilizzando cron job per file e database.

Come configurare i backup automatici su un server Linux

I backup regolari sono essenziali per proteggere i tuoi dati. Questa guida ti mostra come impostare i backup automatici per i tuoi file e database utilizzando script shell e cron job sul tuo server Hiddence.

Creazione dello script di backup

Crea uno script di backup per i tuoi file:

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

Impostazione del cron job

Pianifica i backup automatici utilizzando cron:

bash
sudo crontab -e
# Aggiungi questa riga per eseguire il backup ogni giorno alle 2 del mattino
0 2 * * * /usr/local/bin/backup.sh >> /var/log/backup.log 2>&1

Script di backup del database

Crea lo script per i backup del database 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

Archiviazione backup remoto

Copia i backup sul server remoto utilizzando rsync o 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 di conservazione dei backup

Configura la conservazione per mantenere i backup per un periodo specifico:

bash
# Mantieni i backup giornalieri per 7 giorni
find /backups -name "backup_*.tar.gz" -mtime +7 -delete

# Mantieni i backup settimanali per 4 settimane
find /backups/weekly -name "backup_*.tar.gz" -mtime +28 -delete

# Mantieni i backup mensili per 12 mesi
find /backups/monthly -name "backup_*.tar.gz" -mtime +365 -delete

Migliori pratiche di backup

  • Testa regolarmente il ripristino del backup
  • Conserva i backup in più posizioni
  • Crittografa i dati di backup sensibili
  • Monitora i log di backup per eventuali errori
  • Documenta le tue procedure di backup
  • Imposta avvisi per i fallimenti del backup