Guida verificata con Ubuntu: 20.04
Problemi in questa pagina? Segnalali in questa discussione
Introduzione
Si ricorda che tale applicazione è aggiornata all'ultima releases ufficiale 3.5.1, del 2017. È ancora sviluppata ed è installabile anche nelle nuove release di ubuntu. Prestare molta attenzione.
Amanda è uno strumento di backup che consente di effettuare copie di sicurezza dei dati residenti su server GNU/Linux e Windows da una sola macchina, con la possibilità di ricevere rapporti via email e poter usare come supporto anche un masterizzatore.
È un programma molto rigido: infatti, prima bisogna eseguire il backup su cache e successivamente lo copia sul nastro. Amanda numera inoltre le cassette dando un'etichetta come da file di configurazione, pertanto andranno inserite una alla volta ed etichettate con l'apposito comando.
Nel caso mancasse la cassetta nell'unità a nastro o fosse quella sbagliata, verrà inviata una mail e il backup rimarrà nella cache, che aumenterà se non svuotata prima del successivo backup mediante terminale l'apposito comando:
amflush
Nell'esempio esposto in basso, server e client si chiameranno:
serverbck01 (indirizzo ip 192.168.1.254)
worktation01 (indirizzo ip 192.168.1.100).
Installazione
Lato server
Installare i pacchetti amanda-client, amanda-server e xinetd.
Nel caso si voglia effettuare il backup su più workstation, è consigliata l'installazione di Samba poiché permetterà di includere nei client di Amanda anche macchine Windows. A questo scopo, installare i pacchetti samba, smbfs e smbclient.
Lato client
Installare il pacchetto amanda-client.
Configurazione
Configurazione xinetd
Come primo passo, bisogna configurare xinetd in entrambi i computer.
Se non fosse già presente, modificare con i privilegi di amministratore e con un editor di testo il file /etc/xinetd.d/amanda aggiungendo le seguenti righe alla fine del file:
service amanda { socket_type = dgram protocol = udp wait = yes user = $USER group = $GROUP groups = yes server = $AMANDAD_PATH/amandad }
Creare la cartella del superserver digitando in terminale il seguente comando:
mkdir -p /etc/amanda/supervise/amanda
Creare uno script:
touch /etc/amanda/supervise/amanda/run
in cui si indicherà:
exec /usr/local/bin/setuidgid amanda \ /usr/bin/netcat -l -u -p 10080 -q 0 \ -e /usr/local/libexec/amandad >/dev/null 2>/dev/null
e lo si renderà eseguibile digitando:
chmod 755 /etc/amanda/supervise/amanda/run
Creare un link simbolico ai servizi:
cd /service ln -s /etc/amanda/supervise/amanda .
Creare le cartelle e i file necessari e settare i permessi:
mkdir -p /usr/local/var/amanda/gnutar-lists mkdir /tmp/amanda touch /etc/amandates
Configurazione Amanda
Modificare con i privilegi di amministratore e con un editor di testo il file /etc/amandahosts che dovrà avere una struttura come la seguente:
localhost backup localhost root localhost.localdomain backup localhost.localdomain root serverbck01 backup serverbck01 root worktation01 backup worktation01 root
Modificare con i privilegi di amministratore e con un editor di testo il file /etc/amanda/DailySet1/exclude.gtar in cui si indicheranno le cartelle e i file da escludere dal backup. Ad esempio, per evitare il backup dei file temporanei, della cartella lost+found, dei file .mp3, dei file .avi e della /home/no_backup aggiungere le righe:
tmp lost+found /var/spool/amanda/ *.mp3 *.avi /home/no_backup
Aggiornare i seguenti file:
sudo touch /etc/amanda/DailySet1/tapelist.amlabel sudo touch /etc/amanda/DailySet1/tapelist.yesterday sudo touch /etc/amanda/DailySet1/tapelist sudo touch /var/lib/amanda/DailySet1/curinfo sudo touch /var/log/amanda/DailySet1/log sudo touch /var/lib/amanda/DailySet1/index sudo mkdir -p /var/spool/amanda/tmp
Modificare con i privilegi di amministratore e con un editor di testo il file /etc/amanda/DailySet1/disklist in cui si indicherà l'elenco delle cartelle da copiare, ad esempio:
serverbck01 /etc comp-user-tar serverbck01 /etc comp-user-tar worktation01 /etc comp-user-tar worktation01 /home comp-user-tar worktation01 /home/utente/filedacopiare
Nel caso fosse presente un client Windows (che si chiamerà workstation02) procedere come segue:
Montare la cartella Samba condivisa in una cartella apposita:
sudo mkdir /home/bck_smb smbmount //workstation02/SharedDocs /home/bck_smb -o username=utente,password=secret,rw
oppure, in alternativa, al posto ddel comando smbmount, sempre dopo aver creato la cartella /home/bck_smb, modificare /etc/fstab aggiungendo la seguente riga:
//workstation02/SharedDocs /home/bck_smb smbfs username=utente,password=secret 0 0
Aggiungere al file /etc/amanda/DailySet1/disklist la seguente stringa:
serverbck01 /home/bck_smb comp-user-tar
Altre configurazioni (unità a nastro, compressione, ecc.)
Scaricare il file di configurazione di esempio del set di backup e spostarlo sotto la cartella /etc/amanda/DailySet1/ rinominandolo come amanda.conf.original.
Bisognerà adattare questo fle inserendo, se non presente, una sezione per le dimensioni dell'unità a nastro e impostare i dump, l'email e i dati necessari. Aiutarsi con i commenti per non sbagliare.
Spesso le dimensioni e i dati specifici per il tape in uso possono essere trovate direttamente su Internet evitando il controllo lentissimo di Amanda.
Impostare i servizi necessari ad Amanda per funzionare in background. A tal fine creare con i privilegi di amministratore e con un editor di testo il file /etc/services e aggiungere, se non presenti, le seguenti righe:
amanda 10080/udp amandaidx 10082/tcp amidxtape 10083/tcp
Aggiungere in /etc/crontab le seguenti righe in modo da pianificare i comandi, ad esempio per far controllare alle 4 del pomeriggio se tutto è pronto (in caso di errore il -m manderà una email) e impostare il backup alle 00:45:
0 16 * * 1-5 /usr/sbin/amcheck -m DailySet1 45 0 * * 1-5 /usr/sbin/amdump DailySet1
dove per 1-5 si intende un giorno compreso tra lunedì e venerdì (la domenica viene indicata con 0 oppure con 7).Effettuare una verifica ed eventualmente creare le cartelle o settare i permessi come richiesto:
/usr/sbin/amcheck DailySet1
Funzionamento
Tutti i comandi di Amanda andranno eseguiti dall'utente creato automaticamente (chiamato BACKUP) quindi per procedere digitare in un terminale:
su backup
Ora si utilizzeranno i seguenti comandi:
amtapetype -e 100g -f <device> verifica le dimensioni del tape calcolando il temposecondo la dimensione stimata di 100 Gb (non necessario il -e 100g).
amlabel -f DailySet1 si etichettano le cassette (ripetere il comando per ogni cassetta).
amcheck DailySet1 prova di controllo cassetta corretta.
amdump DailySet1 effettua il backup.
amverify DailySet1 verifica i dati scritti.
amflush svuota la cache rimasta piena in caso di errore su una cassetta qualsiasi anche non etichettata.
Per recuperare i dati ci sono tre possibilità:
Utilizzare una shell interattiva amrecover:
amrecover -s ipDELserver -C DailySet1 sethost nomehost setdisk /path/pathdarecuperare add nomefiledarecuperare lcd /recovery extract
Dare un comando di shell semi interattiva:
amrestore -p /dev/nst0 localhost Backup5 | restore -ivbf 2 -
Dare il comando seguente che è quello più semplice:
amrestore /dev/nst0 localhost
Quest'ultimo effettuerà un restore completo della macchina. Per uscire premere Ctrl+D.