Back In Time: Backup su Linux con snapshots periodici

Per fare backup su Linux esistono vari strumenti affidabili. Molti sono a linea di comando (rsync, duplicity, rsnapshot, ...) ma ce ne sono anche con interfaccia grafica (DejaDUP, Luckybackup, ...) o di fascia enterprise che solitamente sono web managed (Zamanda, Bacula, BackupPC, Bareos, ...).

Spesso quelli con interfaccia grafica non sono altro che GUI costruite per facilitare l'uso dei tool a linea di comando come rsync.

Tra questi, uno dei migliori è senz'altro Back In Time che si trova tranquillamente nei repository delle pincipali distribuzioni Linux.

Back in Time permette di fare backup su svariate destinazioni (hard disk esterni, share di rete o NAS) generando snapshots periodici con hard-link degli oggetti già presenti su snapshots più vecchi. Questo è un grosso vantaggio perchè consente di conservare istantanee di vari periodi (giornalieri, settimanali, mensili, annuali) senza dover dupplicare i files invariati ma permettendo di conservare versioni periodiche dei files modificati.

Ovviamente, visto che usa hard-link, il file system delle destinazioni del backup devono supportare questa tecnologia.

Back In Time offre le seguenti possibilità:

  • conservazione snapshots periodici
  • schedulazione backup a diversi intervalli (all'avvio, ogni 5 minuti, ogni ora, ogni 2 ore, ogni giorno, ogni settimana, ogni mese, alla connessione del dispositivo USB e molti altri)
  • gestione di diversi profili di backup (nel caso si desideri gestire periodicità diverse)
  • backup locali o in SSH
  • backup criptati o in chiaro
  • gestione di files e cartelle da includere nel backup
  • gestione di files, cartelle o pattern di file da escludere (esempio i backup files che finiscono con il carattere "~")
  • ripristino/restore totale o parziale (singolo file o singola cartella) su posizione originale o su altra destinazione

Purtroppo, tra le tante qualità, manca la compressione e la gestione della deduplica ... ma si soppravvive anche senza 😉

Installazione di Back In Time

Come scritto sopra è presente nei repository di varie distribuzioni. La GUI è prevista per Gnome e per KDE.

Per installarla su una distro Debian-based (Debian, Ubuntu, Linux Mint, ...) con ambiente desktop Gnome o Unity si usa il seguente comando:

sudo apt-get install backintime-gnome

se il desktop environment fosse KDE il comando sarebbe:

sudo apt-get install backintime-kde

è possibile che in ambienti desktop minimali dopo l'installazione del pacchetto backintime-gnome si possa avere il seguente errore tentando di eseguire Back In Time:

ImportError: No module named dbus

in questi casi bisogna installare anche il pacchetto python-dbus:

sudo apt-get install python-dbus

Configurazione profilo di backup

Per configurare il backup bisogna avviare Backup in Time e già qui va fatta una scelta: se il backup deve salvare anche file di sistema non accessibili dall'utente normale o deve salvare la home di tutti gli utenti bisogna avviare Back In Time (root), altrimenti se si deve salvare solo file accessibili all'utente in uso è sufficiente avviare Back In Time normale

Back-In-Time root

Quindi si configuara un profilo di backup cliccando sul pulsante Impostazioni.

La prima tab (Generale) permette di definire la modalità di backup (locale o SSH), la posizione dove salvare gli snapshots (instantanee) e la frequenza di esecuzione.

Back-In-Time - generale

Se si vuole fare il backup su uno share di rete di un file server o di un NAS e non si sa come configurarlo su Linux, nella parte finale di quest'articolo c'è un capitolo dedicato a come configurare uno share di rete.

Per quanto riguarda la frequenza c'è da notare che offre moltissime possibilità che, in funzione della scelta operata, utilizzano crontab o anacron per la schedulazione del job.

Le possibilità offerte prevedono:

  • cadenze regolari: ogni 5 minuti, ogni 2 ore, ogni giorno, ogni settimana, ogni mese, ...
  • cadenze dettate dagli eventi:
    • all'avvio/riavvio del sistema
    • quando il dispositivo di backup viene connesso (udev)

La seconda tab (Includi) consente di definire cosa includere nel salvataggio: files e cartelle

Back-In-Time - include

La terza tab (Escludi) permette di indicare cosa escludere:

Back-In-Time - exclude

si possono indicare files, cartelle ma anche pattern con espressioni regolari.

La quarta tab (Rimozione automatica) consente di definire la politica di conservazione delle varie instantanee (snapshots):

Back-In-Time - rimozione automatica

La traduzione italiana non è il massimo ma questa tab è molto importante. Vediamo il significato di ognuna delle voci:

  • Piu vecchi di: elimina gli snapshots più vecchi di N anni/settimane/giorni
  • Se lo spazio libero è minore di: elimina gli snapshots più vecchi se lo spazio rimasto sulla destinazione è inferiore alla dimensione indicata
  • If free inodes is less than: elimina gli snapshots più vecchi se gli inodes diponibili sull'hard disk sono inferiori alla percentuale indicata
  • Rimozione comoda: indica una serie di regole che definiscono quali instatanee conservare:
    • Esegui tutte le instantanee per ultimo: persolmanete l'avrei tradotta in Mantieni tutte le instantanee degli ultimi X giorni, indica di conservare tutte le instantanee per il numeri di giorni indicato. Ad esempio, se si indica 2 giorni e la frequenza di backup indicata nella prima tab è di ogni 4 ore significa che tutte le instantanee fatte negli ultimi 2 giorni vengono conservate.
    • Esegui un instantanea al giorno per ultimo: la tradurrei in Mantieni una instantanea degli ultimi N giorni
    • Esegui una instantanea a settimana per ultimo: la tradurrei in Mantieni una instantanea delle ultime N settimane
    • Esegui un instantanea al mese per ultimo: la tradurrei in Mantieni una instantanea degli ultimi N mesi
    • Esegui un instantanea all'anno per tutti gli anni: la tradurrei in Mantieni una instantanea all'anno per tutti gli anni. Ovviamente se avete indicato un valore alla prima voce, elimina quelli più vecchi di N anni, superato quel limite le instantanee più vecchie vengono eliminate
  • Non rimuovere instantanee rinominate: questa è importante e comoda, perchè può capitare che l'instantanea di un giorno contenga una situazione che non si vuole mai perdere. In questo caso, per non rischiare che in fututo venga rimossa in base alle scelte effettuate, è sufficiente rinominare lo snapshot; in questo modo verrà ignorato dalle politiche di rimozione/conservazione degli snapshots.

La quinta tab (Opzioni) permette di gestire alcune opzioni tra cui ad esempio la possibilita di disabilitare il backup quando si usa la batteria che può essere comoda per un notebook:

Back-In-Time - opzioni

La sesta tab (Opzioni per esperti) offre ulteriori opzioni definite per esperti, come ad esempio quella che permette di salvare anche le access list (ACL):

Back-In-Time - opzioni per esperti

Terminata la configurazione è possibile eseguire immediatamente il primo backup con l'apposito pulsante in alto a sinistra, oppure attendere che il backup si avvii automaticamente in base alle scelte operate.

Dopo qualche giorno si potrà vedere la sequenza delle instatanee eseguite e la GUI di Back In Time apparirà simile alla seguente:

Back-In-Time GUI

Ripristino/Restore snapshot

Back In Time oltre ad offrire un modo semplice ed efficiente per il backup, è molto efficiente e semplice anche per la fase di ripristino dal backup.

Permette di fare il rispristino totale o a livello di singolo file o cartella. Inoltre consente di ripristinare nella posizione originaria o in una posizione diversa a richiesta.

Eseguire il ripristino è semplicissimo, è sufficiente selezionare lo snapshot (instantanea) da cui ripristinare, eventualmente il file o la cartella desiderata se il ripristino dev'essere parziale, infine indicare la modalità di ripristino desiderata (posizione originaria o altra posizione) tramite l'apposito pulsante in alto a destra.

Back-In-Time Restore

Configurazione backup su NAS o share di rete

Per configurare il backup su NAS o su share di rete si può utilizzare SSH oppure montare lo share di rete modificando il file fstab.

Per configurare quest'ultimo caso bisogna:

installare il pacchetto cifs-utils e creare la directory dove verrà montato lo share di rete:

sudo apt-get install cifs-utils
sudo mkdir /media/backup_nas

quindi editare il file /etc/fstab

sudo gedit /etc/fstab

ed aggiungere la riga con la definizione dello share di rete che varia in base al fatto che lo share sia pubblico o protetto da password.

Se è uno share pubblico, ovvero NON protetto da password, la riga è la seguente:

//IP-Address/nome-share  /media/backup_nas  cifs  guest,uid=1000,iocharset=utf8  0  0

altrimenti, per share di rete protetti da password:

//IP-Address/nome-share  /media/backup_nas  cifs  username=nome-utente,password=password-utente,iocharset=utf8,sec=ntlm  0  0

salvare le modifiche ed eseguire il seguente comando per montare subito la nuova definizione (altrimenti riavviare)

sudo mount -a

A questo punto niente più scuse, i backup sono importanti e ci sono strumenti semplici e user-friendly per farli in modo automatico, quindi fateli!!! 😉

(Letto 2.707 volte di cui 1 negli ultimi 30gg)
twitterlinkedinmailby feather

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *