Torino ITA)
+39 01119115797
info@netpic.it

QNAP: backup con rsnapshot

QNAP: backup con rsnapshot

Tool di backup alternativi per il QNAP

Abbiamo dedicato un intero articolo all’installazione del packet manager opkg su un QNAP, che ci permette di permette di personalizzare il nostro NAS come i nostri abituali sistemi GNU/Linux.

Esistono molti modi per poter effettuare backup su un QNAP, visto che offre il supporto per molti protocolli diversi (rsync, ftp, CIFS, AFP), supportati da alcune app davvero potenti, come HBS 3 Hybrid Backup Sync:

Sicuramente l’integrazione di questo tool con il sistema, le numerose funzioni che offre e la possibilità di gestirlo e configurarlo con facilità dal pannello di controllo del QNAP, ne fanno lo strumento ideale. Però, c’è sempre un però.

Se siete sistemisti old style o semplicemente non volete usare l’interfaccia web e gestire tutto da riga di comando, allora potete usare opkg ed installare un potentissimo tool come rsnapshot.

rsnapshot è un programma che permette di effettuare backup incrementali a rotazione, creando un primo backup completo e backup successivi dei soli i file modificati.
Il vero potere di rsnapshot è la sua capacità di utilizzare hard link tra ogni backup: ogni backup sembrerà essere sempre completo, in realtà ogni nuovo backup è costituito dai soli file appena creati o aggiornati. rsnapshot può essere utilizzato in locale, su una rete LAN o anche su server remoti e può essere eseguito da cron.

Nel nostro caso, rsnapshot permette di effettuare il backup di macchine che eseguono il servizio rsync/ssh, come server Linux, oppure di ruotare pool di dati tra NAS della stessa rete.

Installazione e configurazione di rsnapshot sul QNAP

Per prima cosa installiamo il pacchetto:

# opkg install rsnapshot

Il file di configurazione può essere modificato e adattato alle proprie esigenze:

# nano /opt/etc/rsnapshot.conf

Attenzione a non sbagliare la sintassi: tra un parametro è l’altro deve esserci un TAB e non uno spazio, altrimenti rsnapshot non funzionerà. In ogni caso è meglio testare la configurazione con:

# rsnapshot configtest
Syntax OK

Vediamo adesso i parametri essenziali per la configurazione:

###########################
# SNAPSHOT ROOT DIRECTORY # --> dove vengono salvati i backup
###########################
snapshot_root /share/CACHEDEV1_DATA/rsnapshot

#########################################
# BACKUP LEVELS / INTERVALS # --> segue lo schema daily, week, monthly
# Must be unique and in ascending order #
# e.g. alpha, beta, gamma, etc. #
#########################################

retain alpha 6
retain beta 7
retain gamma 4
#retain delta 3

#--> il file di log è importante per le operazioni di debug
logfile /opt/var/log/rsnapshot

###############################
### BACKUP POINTS / SCRIPTS ###
###############################

# LOCALHOST --> backup del NAS locale
backup /opt/etc/ local_nas/
backup /opt/var/ local_nas/
backup /home/ localhost/
backup /etc/ localhost/

# SERVER REMOTI --> backup dei server remoti
backup root@192.168.1.10:/ 192.168.1.10/ exclude=/proc,exclude=/sys
backup root@192.168.1.20:/home 192.168.1.20/ 

Alcune note importanti per non perdersi nei meandri della configurazione di rsnapshot. 

  • i comandi vanno scritti e speratati da tabulazioni,  usare comunque sempre il configtest, per verificare la correttezza del nostro file di configurazione
  • i server remoti devono eseguire i servizi rsync ed ssh ed essere accessibili per il nostro QNAP. Ovviamente è bene automatizzare l’operazione importando sui server da copiare le chiavi ssh del nostro NAS (file key.pub in authorized_keys).

A questo punto possiamo impostare la schedulazione con il comando cron, visto che difficilmente questo strumento viene usato per singoli backup, ma piuttosto per procedure che devono funzionare poi in modo automatico.

Vediamo come Pianificare i backup giornalierisettimanali e mensili

Digitando il comando crontab -e ed inserendo le righe desiderate, come ad esempio per programmare l’esecuzione del backup giornaliero tutti i giorni dal lunedì al sabato alle ore 20.30:

30 20 * * 1-6 rsnapshot alpha

per programmare l’esecuzione del backup settimanale tutte le domeniche alle ore 20.30:

30 20 * * 7 rsnapshot beta

per programmare l’esecuzione del backup mensile nel primo giorno del mese alle ore 20.30:

30 20 1 * * rsnapshot gamma

Ovviamente la configurazione del servizio e la sua programmazione con cron deve essere personalizzata ed adattata alle nostre esigenze.

Questo breve howto serve solo a mostrare le grandi possibilità che questo strumento offre e ad aumentare la gamma delle soluzioni disponibili per effettuare backup, sincronizzazioni e copie dei nostri dati.