|
Dimensione: 8098
Commento:
|
← Versione 65 del 16/11/2025 18.46.47 ⇥
Dimensione: 17118
Commento:
|
| Le cancellazioni sono segnalate in questo modo. | Le aggiunte sono segnalate in questo modo. |
| Linea 6: | Linea 6: |
| [[BR]] [[Indice(depth=1)]] [[Informazioni(forum="http://forum.ubuntu-it.org/index.php/topic,33260.0.html")]] |
<<BR>> <<Indice(depth=1)>> <<Informazioni(forum="https://forum.ubuntu-it.org/viewtopic.php?f=46&t=33260"; rilasci="24.04 22.04 20.04 18.04")>> |
| Linea 12: | Linea 12: |
| '''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 monto rigido: infatti, prima bisogna esegue 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 vuotata prima del successivo backup mediante l'apposito comando `amflush`). Nell'esempio esposto in basso server e client si chiameranno: ''serverbck01'' (indirizzo ip 192.168.1.254) e ''worktation01'' (indirizzo ip 192.168.1.100). |
{{{#!wiki important Si ricorda che questa applicazione è aggiornata all'ultima release ufficiale '''3.5.4''', pubblicata in novembre 2023. È ancora attivamente sviluppata ed è installabile anche nelle nuove release di Ubuntu.<<BR>>Prestare molta attenzione alle configurazioni. }}} '''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 supporti dischi anche CD/DVD. È un programma molto rigido: infatti, prima bisogna eseguire il backup su cache e successivamente lo copia su disco fisso o cd/dvd. '''Amanda''' numera inoltre i supporti dischi esterni dando un'etichetta come da file di configurazione, pertanto andranno inserite una alla volta ed ''etichettate'' con l'apposito comando. Nel caso mancassero i supporti cd/dvd esterni, verrà inviata una mail e il backup rimarrà nella cache, che aumenterà se non svuotata prima del successivo backup mediante [[AmministrazioneSistema/Terminale|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). |
| Linea 21: | Linea 29: |
| == Lato server == [:AmministrazioneSistema/InstallareProgrammi:Installare] i pacchetti [apt:amanda-client,amanda-server,xinetd amanda-client, amanda-server e xinetd]. Nel caso si voglia effettuare il backup su più workstation, è consigliata l'installazione di '''[:Server/Samba:Samba]''' poiché permetterà di includere nei client di '''Amanda''' anche macchine Windows. A questo scopo, installare i pacchetti [apt:samba,smbfs, samba, smbfs e smbclient]. |
== Lato Server == [[AmministrazioneSistema/InstallareProgrammi|Installare]] i pacchetti [[apt:amanda-client | amanda-client]], [[apt://amanda-server | amanda-server]] e [[apt://xinetd | xinetd]]. {{{#!wiki note Nel caso si voglia effettuare il backup su più workstation, è consigliata l'installazione di '''[[Server/Samba|Samba]]''' poiché permetterà di includere nei client di '''Amanda''' anche macchine Windows. A questo scopo, installare i pacchetti [[apt://samba | samba]], [[apt://cifs-utils | cifs-utils]] e [[apt://smbclient | smbclient]]. }}} |
| Linea 28: | Linea 40: |
| [:AmministrazioneSistema/InstallareProgrammi:Installare] il pacchetto [apt:amanda-client amanda-client]. | [[AmministrazioneSistema/InstallareProgrammi|Installare]] il pacchetto [[apt:amanda-client| amanda-client]]. |
| Linea 31: | Linea 43: |
| == Configurazione xinetd == Come primo passo, bisogna configurare `xinetd` in entrambi i computer. 1. Modificare con un [:Ufficio/EditorDiTesto: editor di testo] e [:Sudo:privilegi di amministratore] il file `/etc/xinetd.d/amanda` aggiungendo le seguenti righe alla fine del file: {{{ |
== Configurazione xinetd (server e client) == Come primo passo, bisogna configurare '''xinetd''' in entrambi i computer . 0. Se non fosse già presente, modificare con i [[AmministrazioneSistema/PrivilegiDiAmministrazione|privilegi di amministratore]] e con un [[Ufficio/EditorDiTesto|editor di testo]] il file `/etc/xinetd.d/amanda` aggiungendo alla fine le seguenti righe:{{{ |
| Linea 38: | Linea 51: |
| socket_type = dgram protocol = udp wait = yes user = $USER group = $GROUP groups = yes server = $AMANDAD_PATH/amandad |
socket_type = dgram protocol = udp wait = yes user = $USER group = $GROUP groups = yes server = /usr/lib/amanda/amandad |
| Linea 46: | Linea 59: |
| }}} 1. Creare la cartella del superserver {{{ mkdir -p /etc/amanda/supervise/amanda }}} 1. Creare uno script {{{ touch /etc/amanda/supervise/amanda/run }}} in cui si indicherà {{{ #!/bin/sh 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 {{{ chmod 755 /etc/amanda/supervise/amanda/run }}} 1. Creare un link simbolico ai servizi {{{ cd /service ln -s /etc/amanda/supervise/amanda . }}} 1. 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 }}} |
service amandaidx { socket_type = stream protocol = tcp wait = no user = $USER group = $GROUP server = /usr/lib/amanda/amandad } service amidxtape { socket_type = stream protocol = tcp wait = no user = $USER group = $GROUP server = /usr/lib/amanda/amandad } }}} {{{#!wiki note I percorsi esatti per `amandad` potrebbero variare (ad esempio, `/usr/sbin/amandad` o `/usr/local/lib/amanda/amandad`).<<BR>>Utilizzare `whereis amandad` o `find / -name amandad` per individuare il percorso corretto sul sistema in uso. L'utente `$USER` e il gruppo `$GROUP`da usare sono solitamente l'utente di sistema creato da Amanda durante l'installazione. }}} 0. Creare le cartelle e i file necessari: * Percorso comune per i file di gnutar:{{{ sudo mkdir -p /var/lib/amanda/gnutar-lists }}} * Per la cache temporanea di Amanda:{{{ sudo mkdir -p /var/spool/amanda/tmp }}} * Inizializza il file delle date, Amanda lo gestirà in seguito:{{{ sudo touch /etc/amandates }}} 0. Settare i [[AmministrazioneSistema/PermessiFile|permessi di scrittura]]: * Impostare i permessi corretti per le directory principali di Amanda:{{{ sudo chown -R $USER:$GROUP /var/lib/amanda /var/log/amanda /var/spool/amanda }}} * Assicurarsi che l'utente '''$USER''' possa scrivere anche in /etc/amandates:{{{ sudo chown $USER:$GROUP /etc/amandates }}} |
| Linea 73: | Linea 103: |
| 1. Modificare con un [:Ufficio/EditorDiTesto: editor di testo] e [:Sudo:privilegi di amministratore] il file `/etc/amandahosts` che dovrà avere una struttura come la seguente: {{{ localhost backup |
{{{#!wiki important Alcuni di questi file potrebbero essere creati automaticamente da Amanda al primo avvio, ma è buona norma assicurarne l'esistenza e i permessi corretti. }}} 0. Modificare con i [[AmministrazioneSistema/PrivilegiDiAmministrazione|privilegi di amministratore]] e con un [[Ufficio/EditorDiTesto|editor di testo]] il file `/etc/amandahosts`. Questo file definisce quali host e utenti sono autorizzati a connettersi al server Amanda. Dovrà avere una struttura come la seguente:{{{ localhost $USER |
| Linea 76: | Linea 110: |
| localhost.localdomain backup | localhost.localdomain $USER |
| Linea 78: | Linea 112: |
| serverbck01 backup serverbck01 root worktation01 backup worktation01 root }}} 1. Modificare il file {{{ sudo vi /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` indicare: {{{ |
serverbck01 $USER serverbck01 root worktation01 $USER worktation01 root }}}Sostituire l'utente $USER, con l'utente di sistema utilizzato da Amanda. Questa configurazione permette agli utenti `$USER` e `root` degli host specificati di eseguire operazioni Amanda. 0. Modificare con i [[AmministrazioneSistema/PrivilegiDiAmministrazione|privilegi di amministratore]] e con un [[Ufficio/EditorDiTesto|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:{{{ |
| Linea 93: | Linea 124: |
| }}} 1. 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 }}} 1. Modificare il seguente file: {{{ sudo vi /etc/amanda/DailySet1/disklist }}} in cui si indicherà l'elenco delle cartelle da copiare, ad esempio: {{{ |
}}}Queste direttive indicano a `gtar` (GNU Tar) quali pattern e percorsi ignorare durante il backup. 0. Aggiornare i seguenti file. Questi comandi assicurano che i file di stato e log di Amanda esistano e siano pronti per essere utilizzati dall'utente `$USER`. * Assicurarsi che le directory genitore (`/var/lib/amanda/DailySet1/`, `/var/log/amanda/DailySet1/`) esistano già o vengano create, e che i permessi siano corretti per l'utente `$USER`:{{{ 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 }}} * Impostare i permessi corretti per l'utente e gruppo di sistema:{{{ sudo chown $USER:$GROUP /etc/amanda/DailySet1/tapelist* sudo chown $USER:$GROUP /var/lib/amanda/DailySet1/* sudo chown $USER:$GROUP /var/log/amanda/DailySet1/* sudo chown -R $USER:$GROUP /var/spool/amanda/tmp }}} 0. Modificare con i [[AmministrazioneSistema/PrivilegiDiAmministrazione|privilegi di amministratore]] e con un [[Ufficio/EditorDiTesto|editor di testo]] il file `/etc/amanda/DailySet1/disklist` in cui si indicherà l'elenco delle cartelle da copiare. Ogni riga specifica un host, un percorso da backuppare e un tipo di dump (es. `comp-user-tar` per compressione e tar). Ad esempio:{{{ |
| Linea 112: | Linea 146: |
| worktation01 /home/utente/filedacopiare }}} Nel caso fosse presente un client Windows (che si chiamerà workstation02) potremmo 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 al posto di 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 }}} e aggiungendo al file `/etc/amanda/DailySet1/disklist` la seguente stringa {{{ serverbck01 /home/bck_smb comp-user-tar }}} == Altre configurazioni (unità a nastro, compressione, ecc...) == [http://wiki.ubuntu-it.org/Amanda?action=AttachFile&do=get&target=amanda.conf Scaricare] il file di configurazione di esempio del set di backup e spostarlo sotto la cartella `/etc/amanda/DailySet1/` rinominandolo come `amanda.conf.original`. Questo file bisognerà adattarlo inserendo una sezione (se non presente) 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 vostro tape le potrete trovare direttamente su internet evitando il controllo lentissimo di amanda. 1. Creare i servizi necessari ad amanda per funzionare in background: {{{ vi /etc/services }}} e aggiungere, se non presenti, le seguenti righe: {{{ amanda 10080/udp amandaidx 10082/tcp amidxtape 10083/tcp }}} 1. Aggiungere in `/etc/crontab` le seguenti righe in modo da pianificare i comandi, cioè facciamo controllare alle 4 del pomeriggio se tutto è pronto (in caso di errore il -m manderà una email) ed 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). 1. Effettuare una verifica ed eventualmente creare le cartelle o settare i permessi come richiesto: {{{ /usr/sbin/amcheck DailySet1 }}} |
worktation01 /home/utente/filedacopiare comp-user-tar }}} {{{#!wiki note Se un host viene specificato più volte con lo stesso percorso, Amanda lo tratterà come un unico DLE - Dump List Entry. L'esempio `serverbck01 /etc` ripetuto due volte è ridondante a meno che non si vogliano applicare configurazioni diverse a DLE separati che puntano allo stesso percorso, cosa che richiederebbe una sintassi più avanzata. }}} === Client Windows === Nel caso fosse presente un client Windows (che si chiamerà '''workstation02''') procedere come segue: 0. Montare la cartella Samba condivisa in una cartella apposita. {{{#!wiki note Si raccomanda l'uso di `mount -t cifs` o la [[Hardware/DispositiviPartizioni/MontarePartizioni|configurazione di montaggio partizioni]] in `/etc/fstab` con il filesystem `cifs` (che ha sostituito `smbfs`). }}} 0. Creare la directory di mount:{{{ sudo mkdir -p /home/bck_smb }}}Quindi, montare la condivisione: * '''Opzione 1''': Montaggio manuale (per test o temporaneo):{{{ sudo mount -t cifs //workstation02/SharedDocs /home/bck_smb -o username=utente,password=secret,uid=backup,gid=backup,file_mode=0660,dir_mode=0770 }}} {{{#!wiki note `uid=backup,gid=backup` assicura che l'utente `backup` possa accedere alla condivisione. `file_mode` e `dir_mode` impostano i permessi. }}} * '''Opzione 2''': Montaggio persistente tramite `/etc/fstab` (raccomandato per backup automatici): Modificare il file `/etc/fstab` aggiungendo la seguente riga. È consigliabile usare un file credenziali per la password, per motivi di sicurezza, piuttosto che scriverla direttamente in `fstab`:{{{ //workstation02/SharedDocs /home/bck_smb cifs credentials=/etc/samba/workstation02.cred,uid=backup,gid=backup,file_mode=0660,dir_mode=0770 0 0 }}}Esempio di file credenziali `/etc/samba/workstation02.cred` (proteggerlo con `sudo chmod 600 /etc/samba/workstation02.cred`):{{{ username=utente password=secret }}} 0. Aggiungere al file `/etc/amanda/DailySet1/disklist` la seguente stringa per includere la condivisione Samba nel backup:{{{ serverbck01 /home/bck_smb comp-user-tar }}} == Altre configurazioni (unità a nastro, compressione, ecc.) == [[attachment:amanda.conf|Scaricare]] il file di configurazione di esempio del set di backup e spostarlo sotto la cartella `/etc/amanda/DailySet1/` rinominandolo come `amanda.conf`. {{{#!wiki note Il nome attivo per Amanda è solitamente `amanda.conf` o quello specificato nel comando `amdump`.<<BR>>Sarà necessario adattare questo file `amanda.conf` inserendo, se non presenti, una sezione per le dimensioni dell'unità a nastro (o del DLE per il disco), impostare i tipi di dump, l'email per i rapporti e altri dati necessari. Aiutarsi con i commenti presenti nel file di esempio per una corretta configurazione. Spesso le dimensioni e i dati specifici per l'unità a nastro (tape) in uso o per i dischi (se si effettua il backup su disco) possono essere trovate direttamente su Internet, evitando il controllo lentissimo di '''Amanda''' tramite `amtapetype`. }}} 0. Impostare i servizi necessari ad '''Amanda''' per funzionare in background. A tal fine, verificare nel file di sistema `/etc/services` che le porte di Amanda siano definite correttamente. Il file contiene la mappatura tra nomi di servizio e numeri di porta. Se Amanda è installato dai pacchetti di Ubuntu, queste voci dovrebbero essere già presenti. Se non lo fossero, modificare con i [[AmministrazioneSistema/PrivilegiDiAmministrazione|privilegi di amministratore]] e con un [[Ufficio/EditorDiTesto|editor di testo]] il file `/etc/services` e aggiungere le seguenti righe:{{{ amanda 10080/udp # Amanda backup service amandaidx 10082/tcp # Amanda index service amidxtape 10083/tcp # Amanda tape index service }}}Salvare il file. Queste porte sono standard per Amanda e consentono la comunicazione tra i componenti. 0. Aggiungere in `/etc/crontab` le seguenti righe in modo da pianificare i comandi di Amanda. Questi esempi pianificano un controllo di integrità (`amcheck`) e un dump completo (`amdump`). Con i [[AmministrazioneSistema/PrivilegiDiAmministrazione|privilegi di amministratore]] e con un [[Ufficio/EditorDiTesto|editor di testo]] editar come segue:{{{ # Pianificazione dei backup Amanda (eseguito come utente root) 0 16 * * 1-5 root /usr/sbin/amcheck -m DailySet1 45 0 * * 1-5 root /usr/sbin/amdump DailySet1 }}} 0. Effettuare una verifica finale della configurazione ed eventualmente creare le cartelle o settare i permessi come richiesto dal controllo. Eseguire questo comando come `root` o con `sudo`:{{{ /usr/sbin/amcheck DailySet1 }}}Questo comando è fondamentale per individuare errori di configurazione, permessi o problemi di connettività prima di eseguire un backup. === Esempi di Pianificazione === <<Anchor(oraripianificazione)>> ||<tablestyle="width:50%;" -4:>'''Orari pianificazione'''|| ||<:30%> '''Orario''' || Descrizione || || `0 16 * * 1-5` || esegue `amcheck` alle 16:00 (0 minuti, 16 ore) da lunedì a venerdì (`1-5`). L'opzione `-m` invia un'email in caso di errore.|| || `45 0 * * 1-5` || esegue `amdump` alle 00:45 (45 minuti, 0 ore) da lunedì a venerdì. || || `root` || indica che i comandi saranno eseguiti dall'utente `root`. || Le indicazioni per i giorni della settimana sono: 0 o 7 per domenica, 1 per lunedì, ..., 6 per sabato. |
| Linea 155: | Linea 215: |
| Tutti i comandi di amanda andranno eseguiti dall'utente creato automaticamente (chiamato BACKUP) quindi per procedere: {{{ 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`: vuota la cache rimasta piena in caso di errore su una cassetta qualsiasi anche non etichettata Per recuperare i dati ci sono tre possibilità: 1. utilizzare una shell interattiva "amrecover" {{{ amrecover -s ipDELserver -C DailySet1 sethost nomehost setdisk /path/pathdarecuperare add nomefiledarecuperare lcd /recovery extract }}} 1. dare un comando di shell semi interattiva: {{{ amrestore -p /dev/nst0 localhost Backup5 | restore -ivbf 2 - }}} 1. 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'''''. |
Tutti i comandi di '''Amanda''' per la gestione dei backup (es. `amlabel`, `amdump`, `amflush`, `amrecover`) devono essere eseguiti dall'utente creato automaticamente per Amanda. Quindi, per procedere con i [[AmministrazioneSistema/PrivilegiDiAmministrazione|privilegi di amministratore]], digitare in un [[AmministrazioneSistema/Terminale|terminale]] il seguente comando:{{{ su - $USER }}} {{{#!wiki important L'opzione `-` dopo `su` avvia una shell di login per l'utente `$USER` creato appositamente per Amanda. In alternativa, si può usare `sudo -u $USER <comando_amanda>` per eseguire singoli comandi come l'utente `backup` senza cambiare shell. }}} Ora si utilizzeranno i seguenti comandi (eseguiti come utente `$USER`): * {{{ amtapetype -e 100g -f <device> }}}Verifica le dimensioni del tape (nastro) calcolando il tempo stimato per una dimensione di 100 Gb. L'opzione `-e 100g` può essere omessa se si vuole che Amanda stimi le dimensioni automaticamente. `<device>` dovrebbe essere il percorso al dispositivo nastro (es. `/dev/nst0`) o il nome del DLE configurato se si fa backup su disco. * {{{ amlabel DailySet1 <etichetta_nastro> }}}Etichetta le cassette/nastri (o i file su disco nel caso di backup su disco). L'etichetta è il nome che Amanda assegnerà al volume. Ripetere il comando per ogni nastro/volume. Esempio: `amlabel DailySet1 DailySet1-001`. * {{{ amcheck DailySet1 }}}Esegue una prova di controllo della configurazione e dello stato del tape/disco. Fondamentale prima di ogni backup. * {{{ amdump DailySet1 }}}Esegue il backup dei dati configurati nel set `DailySet1`. * {{{ amverify DailySet1 }}}Verifica i dati scritti sul nastro/disco dopo il backup, controllandone l'integrità. * {{{ amflush DailySet1 }}}Svuota la cache di Amanda. Utile in caso di errori nel backup (es. cassetta mancante o sbagliata) per ripulire i dati rimasti nella cache prima del successivo backup. Specificare il set di configurazione (es. `DailySet1`). Per recuperare i dati ci sono tre possibilità, utilizzando il comando `amrecover`: 0. Utilizzare una shell interattiva '''amrecover'''. È il metodo più flessibile per recuperi specifici:{{{ su - backup -c "amrecover DailySet1" # Oppure, se già come utente backup: amrecover DailySet1 sethost nomehost # L'hostname del client di cui si vuole recuperare i dati (es. worktation01) setdisk /path/pathdarecuperare # Il punto di mount o il DLE di cui si vuole recuperare il dato (es. /home) add nomefiledarecuperare # Aggiunge il file o la directory al "carrello" di recupero (es. /home/utente/documento.txt) lcd /recovery # Cambia la directory locale dove i file verranno recuperati (sul server Amanda) extract # Avvia il processo di estrazione }}} {{{#!wiki note È buona pratica creare la directory `/recovery` in un percorso sicuro con permessi adeguati prima del recupero. }}} 0. Dare un comando di shell semi-interattiva (meno comune e più specifico):{{{ # Questo comando richiede il nome corretto del nastro/volume e il DLE ID del backup. # Si consiglia cautela e conoscenza approfondita prima di usarlo. # Esempio: amrestore -p /dev/nst0 serverbck01 /etc | restore -ivbf 2 - }}} {{{#!wiki note `-p /dev/nst0` indica il dispositivo nastro. `serverbck01` è l'host, `/etc` è il DLE. `restore` è un comando generico di ripristino, e i suoi parametri variano. }}} 0. Dare il comando seguente che è quello più semplice per un ripristino completo di un DLE, ma meno granulare:{{{ # Questo comando recupererà tutti i dati del DLE specificato dal nastro. # Esempio: amrestore /dev/nst0 serverbck01 /home }}}Quest'ultimo effettuerà un restore completo di un DLE (ad esempio, della cartella `/home` di `serverbck01`) presente sul supporto esterno. Per uscire dalla modalità di ascolto dopo un `amrestore` senza specificare un DLE, premere '''Ctrl+D'''. |
| Linea 189: | Linea 274: |
| * [http://www.amanda.org Sito ufficiale del progetto] | * [[http://www.amanda.org|Sito ufficiale del progetto]] |
| Linea 192: | Linea 277: |
| CategoryNuoviDocumenti | CategoryAmministrazione |
Guida verificata con Ubuntu: 22.04 24.04
Problemi in questa pagina? Segnalali in questa discussione
Introduzione
Si ricorda che questa applicazione è aggiornata all'ultima release ufficiale 3.5.4, pubblicata in novembre 2023. È ancora attivamente sviluppata ed è installabile anche nelle nuove release di Ubuntu.
Prestare molta attenzione alle configurazioni.
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 supporti dischi anche CD/DVD.
È un programma molto rigido: infatti, prima bisogna eseguire il backup su cache e successivamente lo copia su disco fisso o cd/dvd. Amanda numera inoltre i supporti dischi esterni dando un'etichetta come da file di configurazione, pertanto andranno inserite una alla volta ed etichettate con l'apposito comando.
Nel caso mancassero i supporti cd/dvd esterni, 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, cifs-utils e smbclient.
Lato client
Installare il pacchetto amanda-client.
Configurazione
Configurazione xinetd (server e client)
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 alla fine le seguenti righe:
service amanda { socket_type = dgram protocol = udp wait = yes user = $USER group = $GROUP groups = yes server = /usr/lib/amanda/amandad } service amandaidx { socket_type = stream protocol = tcp wait = no user = $USER group = $GROUP server = /usr/lib/amanda/amandad } service amidxtape { socket_type = stream protocol = tcp wait = no user = $USER group = $GROUP server = /usr/lib/amanda/amandad }I percorsi esatti per amandad potrebbero variare (ad esempio, /usr/sbin/amandad o /usr/local/lib/amanda/amandad).
Utilizzare whereis amandad o find / -name amandad per individuare il percorso corretto sul sistema in uso. L'utente $USER e il gruppo $GROUPda usare sono solitamente l'utente di sistema creato da Amanda durante l'installazione.
- Creare le cartelle e i file necessari:
Percorso comune per i file di gnutar:
sudo mkdir -p /var/lib/amanda/gnutar-lists
Per la cache temporanea di Amanda:
sudo mkdir -p /var/spool/amanda/tmp
Inizializza il file delle date, Amanda lo gestirà in seguito:
sudo touch /etc/amandates
Settare i permessi di scrittura:
Impostare i permessi corretti per le directory principali di Amanda:
sudo chown -R $USER:$GROUP /var/lib/amanda /var/log/amanda /var/spool/amanda
Assicurarsi che l'utente $USER possa scrivere anche in /etc/amandates:
sudo chown $USER:$GROUP /etc/amandates
Configurazione Amanda
Alcuni di questi file potrebbero essere creati automaticamente da Amanda al primo avvio, ma è buona norma assicurarne l'esistenza e i permessi corretti.
Modificare con i privilegi di amministratore e con un editor di testo il file /etc/amandahosts. Questo file definisce quali host e utenti sono autorizzati a connettersi al server Amanda. Dovrà avere una struttura come la seguente:
localhost $USER localhost root localhost.localdomain $USER localhost.localdomain root serverbck01 $USER serverbck01 root worktation01 $USER worktation01 root
Sostituire l'utente $USER, con l'utente di sistema utilizzato da Amanda. Questa configurazione permette agli utenti $USER e root degli host specificati di eseguire operazioni Amanda.
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
Queste direttive indicano a gtar (GNU Tar) quali pattern e percorsi ignorare durante il backup.
Aggiornare i seguenti file. Questi comandi assicurano che i file di stato e log di Amanda esistano e siano pronti per essere utilizzati dall'utente $USER.
Assicurarsi che le directory genitore (/var/lib/amanda/DailySet1/, /var/log/amanda/DailySet1/) esistano già o vengano create, e che i permessi siano corretti per l'utente $USER:
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
Impostare i permessi corretti per l'utente e gruppo di sistema:
sudo chown $USER:$GROUP /etc/amanda/DailySet1/tapelist* sudo chown $USER:$GROUP /var/lib/amanda/DailySet1/* sudo chown $USER:$GROUP /var/log/amanda/DailySet1/* sudo chown -R $USER:$GROUP /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. Ogni riga specifica un host, un percorso da backuppare e un tipo di dump (es. comp-user-tar per compressione e tar). 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 comp-user-tar
Se un host viene specificato più volte con lo stesso percorso, Amanda lo tratterà come un unico DLE - Dump List Entry. L'esempio serverbck01 /etc ripetuto due volte è ridondante a meno che non si vogliano applicare configurazioni diverse a DLE separati che puntano allo stesso percorso, cosa che richiederebbe una sintassi più avanzata.
Client Windows
Nel caso fosse presente un client Windows (che si chiamerà workstation02) procedere come segue:
- Montare la cartella Samba condivisa in una cartella apposita.
Si raccomanda l'uso di mount -t cifs o la configurazione di montaggio partizioni in /etc/fstab con il filesystem cifs (che ha sostituito smbfs).
Creare la directory di mount:
sudo mkdir -p /home/bck_smb
Quindi, montare la condivisione:Opzione 1: Montaggio manuale (per test o temporaneo):
sudo mount -t cifs //workstation02/SharedDocs /home/bck_smb -o username=utente,password=secret,uid=backup,gid=backup,file_mode=0660,dir_mode=0770
uid=backup,gid=backup assicura che l'utente backup possa accedere alla condivisione. file_mode e dir_mode impostano i permessi.
Opzione 2: Montaggio persistente tramite /etc/fstab (raccomandato per backup automatici): Modificare il file /etc/fstab aggiungendo la seguente riga. È consigliabile usare un file credenziali per la password, per motivi di sicurezza, piuttosto che scriverla direttamente in fstab:
//workstation02/SharedDocs /home/bck_smb cifs credentials=/etc/samba/workstation02.cred,uid=backup,gid=backup,file_mode=0660,dir_mode=0770 0 0
Esempio di file credenziali /etc/samba/workstation02.cred (proteggerlo con sudo chmod 600 /etc/samba/workstation02.cred):
username=utente password=secret
Aggiungere al file /etc/amanda/DailySet1/disklist la seguente stringa per includere la condivisione Samba nel backup:
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.
Il nome attivo per Amanda è solitamente amanda.conf o quello specificato nel comando amdump.
Sarà necessario adattare questo file amanda.conf inserendo, se non presenti, una sezione per le dimensioni dell'unità a nastro (o del DLE per il disco), impostare i tipi di dump, l'email per i rapporti e altri dati necessari. Aiutarsi con i commenti presenti nel file di esempio per una corretta configurazione. Spesso le dimensioni e i dati specifici per l'unità a nastro (tape) in uso o per i dischi (se si effettua il backup su disco) possono essere trovate direttamente su Internet, evitando il controllo lentissimo di Amanda tramite amtapetype.
Impostare i servizi necessari ad Amanda per funzionare in background. A tal fine, verificare nel file di sistema /etc/services che le porte di Amanda siano definite correttamente. Il file contiene la mappatura tra nomi di servizio e numeri di porta. Se Amanda è installato dai pacchetti di Ubuntu, queste voci dovrebbero essere già presenti. Se non lo fossero, modificare con i privilegi di amministratore e con un editor di testo il file /etc/services e aggiungere le seguenti righe:
amanda 10080/udp # Amanda backup service amandaidx 10082/tcp # Amanda index service amidxtape 10083/tcp # Amanda tape index service
Salvare il file. Queste porte sono standard per Amanda e consentono la comunicazione tra i componenti.Aggiungere in /etc/crontab le seguenti righe in modo da pianificare i comandi di Amanda. Questi esempi pianificano un controllo di integrità (amcheck) e un dump completo (amdump). Con i privilegi di amministratore e con un editor di testo editar come segue:
# Pianificazione dei backup Amanda (eseguito come utente root) 0 16 * * 1-5 root /usr/sbin/amcheck -m DailySet1 45 0 * * 1-5 root /usr/sbin/amdump DailySet1
Effettuare una verifica finale della configurazione ed eventualmente creare le cartelle o settare i permessi come richiesto dal controllo. Eseguire questo comando come root o con sudo:
/usr/sbin/amcheck DailySet1
Questo comando è fondamentale per individuare errori di configurazione, permessi o problemi di connettività prima di eseguire un backup.
Esempi di Pianificazione
Orari pianificazione |
|||
Orario |
Descrizione |
||
0 16 * * 1-5 |
esegue amcheck alle 16:00 (0 minuti, 16 ore) da lunedì a venerdì (1-5). L'opzione -m invia un'email in caso di errore. |
||
45 0 * * 1-5 |
esegue amdump alle 00:45 (45 minuti, 0 ore) da lunedì a venerdì. |
||
root |
indica che i comandi saranno eseguiti dall'utente root. |
||
Le indicazioni per i giorni della settimana sono: 0 o 7 per domenica, 1 per lunedì, ..., 6 per sabato.
Funzionamento
Tutti i comandi di Amanda per la gestione dei backup (es. amlabel, amdump, amflush, amrecover) devono essere eseguiti dall'utente creato automaticamente per Amanda. Quindi, per procedere con i privilegi di amministratore, digitare in un terminale il seguente comando:
su - $USER
L'opzione - dopo su avvia una shell di login per l'utente $USER creato appositamente per Amanda. In alternativa, si può usare sudo -u $USER <comando_amanda> per eseguire singoli comandi come l'utente backup senza cambiare shell.
Ora si utilizzeranno i seguenti comandi (eseguiti come utente $USER):
amtapetype -e 100g -f <device>
Verifica le dimensioni del tape (nastro) calcolando il tempo stimato per una dimensione di 100 Gb. L'opzione -e 100g può essere omessa se si vuole che Amanda stimi le dimensioni automaticamente. <device> dovrebbe essere il percorso al dispositivo nastro (es. /dev/nst0) o il nome del DLE configurato se si fa backup su disco.
amlabel DailySet1 <etichetta_nastro>
Etichetta le cassette/nastri (o i file su disco nel caso di backup su disco). L'etichetta è il nome che Amanda assegnerà al volume. Ripetere il comando per ogni nastro/volume. Esempio: amlabel DailySet1 DailySet1-001.
amcheck DailySet1
Esegue una prova di controllo della configurazione e dello stato del tape/disco. Fondamentale prima di ogni backup.amdump DailySet1
Esegue il backup dei dati configurati nel set DailySet1.
amverify DailySet1
Verifica i dati scritti sul nastro/disco dopo il backup, controllandone l'integrità.amflush DailySet1
Svuota la cache di Amanda. Utile in caso di errori nel backup (es. cassetta mancante o sbagliata) per ripulire i dati rimasti nella cache prima del successivo backup. Specificare il set di configurazione (es. DailySet1).
Per recuperare i dati ci sono tre possibilità, utilizzando il comando amrecover:
Utilizzare una shell interattiva amrecover. È il metodo più flessibile per recuperi specifici:
su - backup -c "amrecover DailySet1" # Oppure, se già come utente backup: amrecover DailySet1 sethost nomehost # L'hostname del client di cui si vuole recuperare i dati (es. worktation01) setdisk /path/pathdarecuperare # Il punto di mount o il DLE di cui si vuole recuperare il dato (es. /home) add nomefiledarecuperare # Aggiunge il file o la directory al "carrello" di recupero (es. /home/utente/documento.txt) lcd /recovery # Cambia la directory locale dove i file verranno recuperati (sul server Amanda) extract # Avvia il processo di estrazioneÈ buona pratica creare la directory /recovery in un percorso sicuro con permessi adeguati prima del recupero.
Dare un comando di shell semi-interattiva (meno comune e più specifico):
# Questo comando richiede il nome corretto del nastro/volume e il DLE ID del backup. # Si consiglia cautela e conoscenza approfondita prima di usarlo. # Esempio: amrestore -p /dev/nst0 serverbck01 /etc | restore -ivbf 2 -
-p /dev/nst0 indica il dispositivo nastro. serverbck01 è l'host, /etc è il DLE. restore è un comando generico di ripristino, e i suoi parametri variano.
Dare il comando seguente che è quello più semplice per un ripristino completo di un DLE, ma meno granulare:
# Questo comando recupererà tutti i dati del DLE specificato dal nastro. # Esempio: amrestore /dev/nst0 serverbck01 /home
Quest'ultimo effettuerà un restore completo di un DLE (ad esempio, della cartella /home di serverbck01) presente sul supporto esterno. Per uscire dalla modalità di ascolto dopo un amrestore senza specificare un DLE, premere Ctrl+D.
