Wiki Ubuntu-it

Indice
Partecipa
FAQ
Wiki Blog
------------------
Ubuntu-it.org
Forum
Chiedi
Chat
Cerca
Planet
  • Pagina non alterabile
  • Informazioni
  • Allegati
  • Differenze per "AmministrazioneSistema/BackupDelSistema/Amanda"
Differenze tra le versioni 4 e 65 (in 61 versioni)
Versione 4 del 04/08/2006 13.35.50
Dimensione: 1247
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 1: Linea 1:
Guida al Backup Centralizzato con Amanda


Amanda è un tool di backup che permette di effettuare il backup di più server linux e windows da una sola macchina con la possibilità di ricevere rapporti via e-mail e poter usare come supporto anche un masterizzatore.

Primi Passi

Installiamo tutto ciò che ci servirà sul server (cioè la macchina con installata l'unita nastro)

Da shell:
{{{

sudo apt-get install -y amanda-client amanda-server smbfs smbclient inetd

}}}

Ora andiamo a creare i file che userà il programma:

{{{

sudo vi /etc/amanda/DailySet1/exclude.gtar

}}}

Questo era il file delle cartelle da escludere, potremmo scriverci:

{{{
## page was renamed from Amanda
## page was renamed from guida ad amanda
## da spostare sotto AmministrazioneSistema/BackupDelSistema
#format wiki
#language it
<<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")>>

= Introduzione =

{{{#!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).

= Installazione =

== 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]].
}}}

== Lato client ==

[[AmministrazioneSistema/InstallareProgrammi|Installare]] il pacchetto [[apt:amanda-client| amanda-client]].

= Configurazione =

== 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:{{{
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
}
}}}
 {{{#!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
  }}}

== Configurazione Amanda ==

{{{#!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
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.
 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 33: Linea 122:
/home/danoncopiare

}}}

ora:

{{{

sudo touch /etc/amanda/DailySet1/tapelist.amlabel

sudo touch /etc/amanda/DailySet1/tapelist.yesterday

sudo touch /etc/amanda/DailySet1/tapelist.yesterday

}}}

Ora:

{{{

sudo vi /etc/amanda/DailySet1/disklist

}}}

Disklist è l'elenco delle cartelle da copiare, noi potremmo scriverci:

{{{

nomeserverhttp /var/apache comp-user-tar
nomeserver /etc comp-user-tar
nomeserversamba /home comp-user-tar
nomeclient /home/utente/filedacopiare

}}}
*.avi
/home/no_backup
}}}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:{{{
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
 }}}
 {{{#!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.

= 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 [[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'''.

= Ulteriori risorse =

 * [[http://www.amanda.org|Sito ufficiale del progetto]]

----
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 .

  1. 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.

  2. 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
  3. 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.

  1. 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.

  2. 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.

  3. 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
  4. 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:

  1. Montare la cartella Samba condivisa in una cartella apposita.
  2. 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
  3. 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.

  1. 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.
  2. 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
  3. 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:

  1. 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.

  2. 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.

  3. 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.

Ulteriori risorse


CategoryAmministrazione