Wiki Ubuntu-it

Indice
Partecipa
FAQ
Wiki Blog
------------------
Ubuntu-it.org
Forum
Chiedi
Chat
Cerca
Planet
  • Pagina non alterabile
  • Informazioni
  • Allegati
  • Differenze per "AlbericoAnobile/Prove0"
Differenze tra le versioni 66 e 109 (in 43 versioni)
Versione 66 del 29/09/2007 12.48.59
Dimensione: 4589
Commento:
Versione 109 del 11/10/2007 08.04.13
Dimensione: 4711
Commento:
Le cancellazioni sono segnalate in questo modo. Le aggiunte sono segnalate in questo modo.
Linea 8: Linea 8:
'''Rsnapshot''' è una applicazione in grado di effettuare il backup differenziale di porzioni di file system.[[BR]] Sfruttando [http://samba.anu.edu.au/rsync/ rsync] e gli [http://openskills.info/infobox.php?ID=60 hard link], è in grado di conservare diverse copie di backup, realizzate in diversi istanti di tempo, minimizzando la quantità di dati trasferiti e lo spazio disco occupato. [[BR]]Se utilizzato in concomitanza con [:SSHHowto:ssh] può effettuare il backup anche di sistemi remoti. '''Autofs''' monta automaticamente le cartelle condivise quando gli utenti o i processi richiedono l'accesso ad esse; le smonta automaticamente se restano inattive per un periodo di tempo specificato. Viene utilizzato principalmente per la condivisione di cartelle accessibili in rete tramite i protocolli [:Server/Nfs:Nfs] o [:Server/Samba:Samba]. Il montaggio automatico di dispositivi rimovibili è infatti già fornito da [http://it.wikipedia.org/wiki/Hardware_abstraction_layer Hal] nel sistema base.
Linea 12: Linea 12:
Il programma è presente nel [:Repository/Componenti:componente] '''universe''' dei [:Repository:repository] ufficiali. Il programma è presente nel [:Repository/Componenti:componente] '''universe''' dei [:Repository:repository] ufficiali. Una volta abilitato tale componente è sufficiente [:InstallareProgrammi:installare] il pacchetto ''autofs''.
Linea 16: Linea 16:
Per la configurazione è necessario modificare con un [:EditorDiTesto:editor di testo] con i [:Sudo:privilegi di amministrazione] il file di configurazione {{{/etc/rsnapshot.conf}}} come nel seguito.

||<tablestyle="text-align: justify; width:65%; " style="border:none;" 5%>[[Immagine(Icone/Piccole/note.png,,center)]] ||<style="padding:0.5em; border:none;">''Ogni riga del file di configurazione dovrà contenere elementi separati dal carattere tab e senza spazi. Non è quindi consigliabile fare il copia ed incolla degli elementi di questa guida'' ||

La seguente direttiva specifica la cartella di destinazione del backup
Aprire il file di configurazione `/etc/auto.master` con un [:EditoriDiTesto:editor di testo] con i [:Sudo:privilegi di amministrazione] aggiungendo le seguenti righe:
Linea 23: Linea 18:
rsnapshot_root /var/cache/rsnapshot/ /smb /etc/auto.smb
/net /etc/auto.net
Linea 26: Linea 22:
Si supponga di effettuare il backup tutti i giorni e di voler conservare le seguenti copie: = Montare una directory Samba pubblica =
Linea 28: Linea 24:
 * backup giornaliero dei 7 giorni precedenti
 * backup settimanale delle 4 settimane precedenti
 * backup mensile dei 6 mesi precedenti

Le direttive di configurazione saranno allora:
Supponendo di voler montare una cartelle condivisa con nome `condivisionesmb` da un server avente nome `server.dominio.it`, sarà sufficiente portarsi nella directory `/smb/server.dominio.it/condivisionesmb`. Digitare il seguente comando:
Linea 35: Linea 26:
interval daily 7
interval weekly 4
interval monthly 6
cd /smb/server.dominio.it/condivisionesmb
Linea 40: Linea 29:
Occorre definire di quali cartelle fare il backup mediante i ''backup points''. Supponendo di voler consevare i file contenuti nelle cartelle {{{/home /etc}}} e {{{/usr/local}}} in una cartella dal nome {{{localhost}}} aggiungere: ||<tablestyle="text-align: justify; width:100%; " style="border:none;" 5%>[[Immagine(Icone/Piccole/note.png,,center)]] ||<style="padding:0.5em; border:none;">''Il nome del server si riferisce al nome [:Server/Dns#whatis:DNS] e non al nome !NetBIOS.'' ||
Linea 42: Linea 31:
{{{
backup /home/ localhost/
backup /etc/ localhost/
backup /usr/local/ localhost/
}}}
= Montare una directory Samba con autenticazione =
Linea 48: Linea 33:
Se invece si intende fare il backup di porzioni di file system di un sistema remoto, è possibile utilizzare [:SSHHowto:ssh]:

{{{
backup root@example.com:/home/ example.com/
}}}

E' inoltre possibile aggiungere direttive di inclusione ed esclusione di file mediante ''pattern matching'' così come specificato nella pagina di manuale di ''rsync''. Suppondendo di voler escludere tutti i file `mp3` dal backup è sufficiente aggiungere la direttiva:

{{{
exclude *.mp3
}}}


== Backup Script ==

E' possibile effettuare il backup di vari servizi, mediante alcuni script controllati da '''rsnapshot'''. [[BR]]
Supponendo di voler effetttuare il backup di un database '''mysql''', si realizzi uno script, da inserire in un nuovo file (es. {{{/root/scripts/backupmysql.sh}}}, del seguente tipo:
Qualora sia necessario fornire delle credenziali di acesso per montare una directory Samba, occorre sostituire il file `/etc/autofs.smb` con il seguente:
Linea 68: Linea 37:

mysqldump nomedatabase --user=root --password=passworddiroot > dump.sql
# $Id$
# This file must be executable to work! chmod 755!
key="$1"
# Note: create a cred file for each windows/Samba-Server in your network
# which requires password authentification. The file should contain
# exactly two lines:
# username=user
# password=*****
# Please don't use blank spaces to separate the equal sign from the
# user account name or password.
credfile="/etc/auto.smb.$key"
# Note: Use cifs instead of smbfs:
mountopts="-fstype=cifs"
smbclientopts=""
for P in /bin /sbin /usr/bin /usr/sbin
do
        if [ -x $P/smbclient ]
        then
                SMBCLIENT=$P/smbclient
                break
        fi
done
[ -x $SMBCLIENT ] || exit 1
if [ -e "$credfile" ]
then
        mountopts=$mountopts",credentials=$credfile"
        smbclientopts="-A "$credfile
else
        smbclientopts="-N"
fi
$SMBCLIENT $smbclientopts -gL $key 2>/dev/null \
   | awk -v key="$key" -v opts="$mountopts" -F'|' -- '
        BEGIN { ORS=""; first=1 }
        /Disk/ { if (first) { print opts; first=0 };
             sub(/ /, "\\ ", $2);
        print " \\\n\t /" $2, "://" key "/" $2 }
        END { if (!first) print "\n"; else exit 1 }
Linea 72: Linea 76:
Dopo aver personalizzato il nome utente con la relativa password è possibile richiamare lo script a partire dal file di configurazione sopra citato Il file dovrà avere come [:PermessiFile:permessi] 755
Linea 75: Linea 79:
backup_script /root/scripts/backupmysql.sh localhost/mysql/ sudo chmod 755 /etc/auto.smb
Linea 78: Linea 82:
'''Rsnapshot''' lancerà lo script e sposterà nella cartelle {{{localhost/mysql}}} tutto i file di output prodotti nella directory corrente

== Testare il file di configurazione ==

La sintassi del file di configurazione può essere controllata con il comando:
Per ogni server a cui si intende accedere, occorre creare un file, contenente esattamente due righe. Supponendo che il nome del server sia `server.dominio.it` il file dovrà avere nome `/etc/auto.smb.server.dominio.it` e dovrà contenere le credenziali nella seguente forma
Linea 85: Linea 85:
sudo rsnapshot configtest username=username_samba
password=password_samba
Linea 88: Linea 89:
= Eseguire rsnapshot = Sostituire opportunamente le stringhe `username_samba` e `password_samba` con le proprie credenziali.
Linea 90: Linea 91:
'''Rsnapshot''' deve essere lanciato specificando il tipo di backup che si intende utilizzare. Questo corrisponde ad una delle direttive {{{interval}}} specificate in precedenza.
Linea 92: Linea 92:
Per lanciare il backup giornaliero occorre quindi digitare il comando: = Montare una directory Nfs =

Supponendo di voler montare una cartella condivisa via nfs con nome `condivisionenfs` da un server avente nome DNS `server.dominio.it` sarà sufficiente portarsi nella directory `/net/server.dominio.it/condivisionenfs`
Linea 95: Linea 97:
sudo rsnapshot daily cd /net/server.dominio.it/condivisionenfs
Linea 98: Linea 100:
per il backup settimanale:

{{{
sudo rsnapshot weekly
}}}

e per il mensile:

{{{
sudo rsnapshot monthly
}}}

Passando il flag {{{-t}}} al comando è possibile testarne il funzionamento. Verranno semplicemente stampate a video tutte le azioni che '''rsnapshot''' eseguirà.

{{{
$ sudo rsnapshot -t daily


}}}
||<tablestyle="text-align: justify; width:100%; " style="border:none;" 5%>[[Immagine(Icone/Piccole/note.png,,center)]] ||<style="padding:0.5em; border:none;">''Le directory non saranno visibili finchè non si farà esplicito riferimento ad esse, quindi solo dopo l'esecuzione di uno dei precedenti comandi.'' ||
Linea 120: Linea 104:
 * [http://www.rsnapshot.org/ Sito ufficiale del progetto]
 * [http://www.rsnapshot.org/howto/1.2/rsnapshot-HOWTO.en.html Rsnapshot HOWTO]
 * [http://tldp.org/HOWTO/Automount.html Automount Howto]
 * [https://help.ubuntu.com/community/Autofs Autofs Ubuntu wiki]
 * [http://it.wikipedia.org/wiki/NetBIOS Voce enciclopedica NetBIOS]

BR

Introduzione

Autofs monta automaticamente le cartelle condivise quando gli utenti o i processi richiedono l'accesso ad esse; le smonta automaticamente se restano inattive per un periodo di tempo specificato. Viene utilizzato principalmente per la condivisione di cartelle accessibili in rete tramite i protocolli [:Server/Nfs:Nfs] o [:Server/Samba:Samba]. Il montaggio automatico di dispositivi rimovibili è infatti già fornito da [http://it.wikipedia.org/wiki/Hardware_abstraction_layer Hal] nel sistema base.

Installazione

Il programma è presente nel [:Repository/Componenti:componente] universe dei [:Repository:repository] ufficiali. Una volta abilitato tale componente è sufficiente [:InstallareProgrammi:installare] il pacchetto autofs.

Configurazione

Aprire il file di configurazione /etc/auto.master con un [:EditoriDiTesto:editor di testo] con i [:Sudo:privilegi di amministrazione] aggiungendo le seguenti righe:

/smb  /etc/auto.smb
/net  /etc/auto.net

Montare una directory Samba pubblica

Supponendo di voler montare una cartelle condivisa con nome condivisionesmb da un server avente nome server.dominio.it, sarà sufficiente portarsi nella directory /smb/server.dominio.it/condivisionesmb. Digitare il seguente comando:

cd /smb/server.dominio.it/condivisionesmb

Immagine(Icone/Piccole/note.png,,center)

Il nome del server si riferisce al nome [:Server/Dns#whatis:DNS] e non al nome !NetBIOS.

Montare una directory Samba con autenticazione

Qualora sia necessario fornire delle credenziali di acesso per montare una directory Samba, occorre sostituire il file /etc/autofs.smb con il seguente:

# $Id$
# This file must be executable to work! chmod 755!
key="$1"
# Note: create a cred file for each windows/Samba-Server in your network
#       which requires password authentification.  The file should contain
#       exactly two lines:
#          username=user
#          password=*****
#       Please don't use blank spaces to separate the equal sign from the
#       user account name or password.
credfile="/etc/auto.smb.$key"
# Note: Use cifs instead of smbfs:
mountopts="-fstype=cifs"
smbclientopts=""
for P in /bin /sbin /usr/bin /usr/sbin
do
        if [ -x $P/smbclient ]
        then
                SMBCLIENT=$P/smbclient
                break
        fi
done
[ -x $SMBCLIENT ] || exit 1
if [ -e "$credfile" ]
then
        mountopts=$mountopts",credentials=$credfile"
        smbclientopts="-A "$credfile
else
        smbclientopts="-N"
fi
$SMBCLIENT $smbclientopts -gL $key 2>/dev/null \
   | awk -v key="$key" -v opts="$mountopts" -F'|' -- '
        BEGIN   { ORS=""; first=1 }
        /Disk/  { if (first) { print opts; first=0 }; 
             sub(/ /, "\\ ", $2); 
        print " \\\n\t /" $2, "://" key "/" $2 }
        END     { if (!first) print "\n"; else exit 1 }

Il file dovrà avere come [:PermessiFile:permessi] 755

sudo chmod 755 /etc/auto.smb

Per ogni server a cui si intende accedere, occorre creare un file, contenente esattamente due righe. Supponendo che il nome del server sia server.dominio.it il file dovrà avere nome /etc/auto.smb.server.dominio.it e dovrà contenere le credenziali nella seguente forma

username=username_samba
password=password_samba

Sostituire opportunamente le stringhe username_samba e password_samba con le proprie credenziali.

Montare una directory Nfs

Supponendo di voler montare una cartella condivisa via nfs con nome condivisionenfs da un server avente nome DNS server.dominio.it sarà sufficiente portarsi nella directory /net/server.dominio.it/condivisionenfs

cd /net/server.dominio.it/condivisionenfs

Immagine(Icone/Piccole/note.png,,center)

Le directory non saranno visibili finchè non si farà esplicito riferimento ad esse, quindi solo dopo l'esecuzione di uno dei precedenti comandi.

Ulteriori risorse


CategoryHomepage