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 82 e 117 (in 35 versioni)
Versione 82 del 04/10/2007 12.53.01
Dimensione: 6756
Commento: guida revisionata
Versione 117 del 04/11/2010 20.03.35
Dimensione: 4879
Commento:
Le cancellazioni sono segnalate in questo modo. Le aggiunte sono segnalate in questo modo.
Linea 1: Linea 1:
## page was renamed from AlbericoAnobile/Prove
Linea 4: Linea 5:
||<tablestyle="float:right; font-size: 0.9em; width:35%; background:#F1F1ED; margin: 0 0 1em 1em;" style="padding:0.5em;">'''Indice'''[[BR]] [[TableOfContents(1)]]|| [[Indice()]]
Linea 8: Linea 9:
'''rsnapshot''' è una applicazione in grado di effettuare il backup differenziale di porzioni di file system. 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. 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 13:
Il programma è presente nel [:Repository/Componenti:componente] '''universe''' dei [:Repository:repository] ufficiali. Per installarlo è sufficiente [:InstallareProgrammi:installare] il pacchetto ''rsnapshot''. Il programma è presente nel [:Repository/Componenti:componente] '''universe''' dei [:Repository:repository] ufficiali. Una volta abilitato tale componente è sufficiente [:AmministrazioneSistema/InstallareProgrammi:installare] il pacchetto ''autofs''.
Linea 16: Linea 17:
Per configurare '''rsnapshot''' è necessario aprire il file `/etc/rsnapshot.conf` con un [:EditorDiTesto:editor di testo] con i [:Sudo:privilegi di amministrazione].

||<tablestyle="text-align: justify; width:100%; " 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 non dovrà contenere spazi. Non è quindi consigliabile fare il copia ed incolla delle seguenti istruzioni.'' ||

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

Le direttive di configurazione specifiche per una tale pianificazione sono le seguenti:
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 33: Linea 27:
interval daily 7
interval weekly 4
interval monthly 6
cd /smb/server.dominio.it/condivisionesmb
Linea 38: Linea 30:
Occorre definire le cartelle delle quali fare il backup. Supponendo di voler consevare i file contenuti nelle cartelle `/home /etc` e `/usr/local`, nella cartella `localhost`, aggiungere le seguenti istruzioni: ||<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: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 [:Ufficio/EditorDiTesto:editor di testo] con i [:Sudo:privilegi di amministrazione] e sostituire il contenuto del file con il seguente:
Linea 40: Linea 36:
backup /home/ localhost/
backup /etc/ localhost/
backup /usr/local/ localhost/
#!/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 }
Linea 45: Linea 76:
Se invece si intende fare il backup di porzioni di file system di un sistema remoto, è possibile utilizzare il protocollo [:SSHHowto:ssh], come nel seguente esempio: Digitare il seguente comando per impostare i giusti [:PermessiFile:permessi]:
Linea 47: Linea 78:
backup root@example.com:/home/ example.com/ sudo chmod 755 /etc/auto.smb
Linea 50: Linea 81:
Inoltre è possibile aggiungere direttive per l'inclusione e l'esclusione di file mediante il [http://en.wikipedia.org/wiki/Pattern_matching pattern matching] così come specificato nella pagina di manuale di '''rsync'''. Suppondendo di voler escludere tutti i file `.mp3` dal backup è sufficiente aggiungere la seguente direttiva: 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 52: Linea 83:
exclude *.mp3 username=username_samba
password=password_samba
Linea 55: Linea 87:
Infine, è possibile testare il file di configurazione con il seguente comando: Le diciture «username_samba» e «password_samba» con il nome utente e la password necessari per l'accesso.

= Montare una directory Nfs =

Se si desidera montare una cartella condivisa tramite il protocollo '''NFS''' con nome `condivisionenfs` da un server avente nome DNS `server.dominio.it` sarà sufficiente portarsi nella cartella `/net/server.dominio.it/condivisionenfs` con il seguente comando:
Linea 57: Linea 93:
sudo rsnapshot configtest cd /net/server.dominio.it/condivisionenfs
Linea 60: Linea 96:
= Automatizzare il backup =

È possibile effettuare il backup di vari servizi mediante degli script controllati da '''rsnapshot'''.

Supponendo di voler effetttuare il backup di un database [:Server/MySql:MySql], si realizzi uno script, da inserire in un nuovo file (es. `/root/scripts/backupmysql.sh`), simile al seguente:
{{{
#!/bin/bash

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

Dopo aver impostato il nome del database in «nomedatabse» e dopo aver impostato le opzioni «user» e «password» con il nome utente desiderato e la relativa password, è possibile richiamare lo script a partire dal file di configurazione sopra citato con un'istruzione simile alla seguente:
{{{
backup_script /root/scripts/backupmysql.sh localhost/mysql/
}}}

'''rsnapshot''' lancerà lo script e sposterà nella cartella `localhost/mysql` tutti i file di output prodotti nella cartella corrente.

= Avvio del programma =

'''rsnapshot''' deve essere avviato specificando il tipo di backup che si intende utilizzare. Questo corrisponde ad una delle direttive {{{interval}}} sopra descritte.

Per avviare il tipo di backup desiderato digitare il relativo comando in una finestra di terminale:

 * '''backup giornaliero''': {{{
sudo rsnapshot daily
}}}

 * '''backup settimanale''': {{{
sudo rsnapshot weekly
}}}

 * '''backup mensile''': {{{
sudo rsnapshot monthly
}}}

Aggiungendo l'opzione '''-t''' al comando è possibile verificarne il corretto funzionamento. Quello che segue è un esempio:
{{{
sudo rsnapshot -t daily
}}}

Il risultato del precedente comando sarà simile al seguente:
{{{
echo 29059 > /var/run/rsnapshot.pid
mkdir -m 0755 -p /var/cache/rsnapshot/daily.0/
/usr/bin/rsync -a --delete --numeric-ids --relative --delete-excluded \
    --exclude=*.mp3 /home /var/cache/rsnapshot/daily.0/localhost/
mkdir -m 0755 -p /var/cache/rsnapshot/daily.0/
/usr/bin/rsync -a --delete --numeric-ids --relative --delete-excluded \
    --exclude=*.mp3 /etc /var/cache/rsnapshot/daily.0/localhost/
mkdir -m 0755 -p /var/cache/rsnapshot/daily.0/
/usr/bin/rsync -a --delete --numeric-ids --relative --delete-excluded \
    --exclude=*.mp3 /usr/local /var/cache/rsnapshot/daily.0/localhost/
mkdir -m 0755 -p /var/cache/rsnapshot/daily.0/
/usr/bin/rsync -a --delete --numeric-ids --relative --delete-excluded \
    --exclude=*.mp3 --rsh=/usr/bin/ssh root@example.com:/home \
    /var/cache/rsnapshot/daily.0/example.com
mkdir -m 0755 -p /var/cache/rsnapshot/daily.0/localhost/
mkdir -m 0755 -p /var/cache/rsnapshot/tmp/
cd /var/cache/rsnapshot/tmp/
/root/scripts/backupmysql.sh
cd /home/albe/
sync_if_different("/var/cache/rsnapshot/tmp/", \
    "/var/cache/rsnapshot/daily.0/localhost/mysql/")
touch /var/cache/rsnapshot/daily.0/
}}}

= Pianificazione delle operazioni con cron =

Affinchè '''rsnaphost''' venga eseguito ad intervalli regolari, occorre configurare opportunamente [:CronHowTo:Cron].

Quella che segue è un esempio di configurazione:
 * '''backup giornaliero''' alle ore 00:00;
 * '''backup settimanale''' la domenica alle ore 6:00;
 * '''backup mensile''' ogni primo del mese alle 12:00.

Quella che segue è la pianificazione adatta al precedente esempio:
{{{
m h dom mon dow user command
0 0 * * * root /usr/bin/rsnapshot daily
0 6 * * 0 root /usr/bin/rsnapshot weekly
0 12 1 * * root /usr/bin/rsnapshot monthly
}}}
||<tablestyle="text-align: justify; width:100%; " style="border:none;" 5%>[[Immagine(Icone/Piccole/note.png,,center)]] ||<style="padding:0.5em; border:none;">''Le cartelle non saranno visibili finchè non si farà esplicito riferimento ad esse, quindi solo dopo l'esecuzione di uno dei precedenti comandi. '' ||
Linea 146: Linea 100:
 * [http://www.rsnapshot.org/ Sito ufficiale del progetto]
 * [http://www.rsnapshot.org/howto/1.2/rsnapshot-HOWTO.en.html Rsnapshot HOWTO]
 * [https://help.ubuntu.com/community/Autofs Documento originale]
 * [http://tldp.org/HOWTO/Automount.html Guida all'automount] (in inglese)
 * [http://it.wikipedia.org/wiki/NetBIOS Voce enciclopedica NetBIOS]

BR Indice()

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 [:AmministrazioneSistema/InstallareProgrammi:installare] il pacchetto autofs.

Configurazione

Aprire il file di configurazione /etc/auto.master con un [:Ufficio/EditorDiTesto:editor di testo] con i [:AmministrazioneSistema/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: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 [:Ufficio/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

Se si desidera montare una cartella condivisa tramite il protocollo NFS con nome condivisionenfs da un server avente nome DNS server.dominio.it sarà sufficiente portarsi nella cartella /net/server.dominio.it/condivisionenfs con il seguente comando:

cd /net/server.dominio.it/condivisionenfs

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

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

Ulteriori risorse


CategoryHomepage