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 110 (in 44 versioni)
Versione 66 del 29/09/2007 12.48.59
Dimensione: 4589
Commento:
Versione 110 del 11/10/2007 08.08.03
Dimensione: 4869
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. Aprire il file di configurazione `/etc/auto.master` con un [:EditorDiTesto:editor di testo] con i [:Sudo:privilegi di amministrazione] aggiungendo le seguenti righe:
{{{
/smb /etc/auto.smb
/net /etc/auto.net
}}}
Linea 18: Linea 22:
||<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'' || = Montare una cartella Samba pubblica =
Linea 20: Linea 24:
La seguente direttiva specifica la cartella di destinazione del backup 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
}}}

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

= Montare una cartella Samba con autenticazione =

Qualora sia necessario fornire delle credenziali di acesso per montare una directory tramite il protocollo '''Samba''', occorre aprire il file `/etc/autofs.smb` con un [:EditorDiTesto:editor di testo] con i [:Sudo:privilegi di amministrazione e sostituire il contenuto del file con il seguente:
{{{
#!/bin/bash
# $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 }
}}}

Digitare il seguente comando per impostare i giusti [:PermessiFile:permessi]:
{{{
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
}}}

Le diciture «username_samba» e «password_samba» con il nome utente e la password necessari per l'accesso.

= 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 23: Linea 93:
rsnapshot_root /var/cache/rsnapshot/ cd /net/server.dominio.it/condivisionenfs
Linea 26: Linea 96:
Si supponga di effettuare il backup tutti i giorni e di voler conservare le seguenti copie:

 * backup giornaliero dei 7 giorni precedenti
 * backup settimanale delle 4 settimane precedenti
 * backup mensile dei 6 mesi precedenti

Le direttive di configurazione saranno allora:

{{{
interval daily 7
interval weekly 4
interval monthly 6
}}}

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:

{{{
backup /home/ localhost/
backup /etc/ localhost/
backup /usr/local/ localhost/
}}}

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:

{{{
#!/bin/bash

mysqldump nomedatabase --user=root --password=passworddiroot > dump.sql
}}}

Dopo aver personalizzato il nome utente con la relativa password è possibile richiamare lo script a partire dal file di configurazione sopra citato

{{{
backup_script /root/scripts/backupmysql.sh localhost/mysql/
}}}

'''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:

{{{
sudo rsnapshot configtest
}}}

= Eseguire rsnapshot =

'''Rsnapshot''' deve essere lanciato specificando il tipo di backup che si intende utilizzare. Questo corrisponde ad una delle direttive {{{interval}}} specificate in precedenza.

Per lanciare il backup giornaliero occorre quindi digitare il comando:

{{{
sudo rsnapshot daily
}}}

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 100:
 * [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 [:EditorDiTesto:editor di testo] con i [:Sudo:privilegi di amministrazione] aggiungendo le seguenti righe:

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

Montare una cartella 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 cartella Samba con autenticazione

Qualora sia necessario fornire delle credenziali di acesso per montare una directory tramite il protocollo Samba, occorre aprire il file /etc/autofs.smb con un [:EditorDiTesto:editor di testo] con i [:Sudo:privilegi di amministrazione e sostituire il contenuto del file 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 }

Digitare il seguente comando per impostare i giusti [:PermessiFile:permessi]:

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

Le diciture «username_samba» e «password_samba» con il nome utente e la password necessari per l'accesso.

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