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 70 e 118 (in 48 versioni)
Versione 70 del 29/09/2007 13.55.27
Dimensione: 6323
Commento:
Versione 118 del 14/03/2011 12.57.33
Dimensione: 4896
Autore: localhost
Commento: converted to 1.6 markup
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 3: Linea 4:
[[BR]]
||<tablestyle="float:right; font-size: 0.9em; width:35%; background:#F1F1ED; margin: 0 0 1em 1em;" style="padding:0.5em;">'''Indice'''[[BR]] [[TableOfContents(1)]]||
<<BR>>
<<Indice>>
Linea 8: Linea 9:
'''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 13:
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 [[AmministrazioneSistema/InstallareProgrammi|installare]] il pacchetto ''autofs''.
Linea 16: Linea 17:
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 [[Ufficio/EditorDiTesto|editor di testo]] con i [[AmministrazioneSistema/Sudo|privilegi di amministrazione]] aggiungendo le seguenti righe:
Linea 23: Linea 19:
rsnapshot_root /var/cache/rsnapshot/ /smb /etc/auto.smb
/net /etc/auto.net
Linea 26: Linea 23:
Si supponga di effettuare il backup tutti i giorni e di voler conservare le seguenti copie: = Montare una cartella Samba pubblica =
Linea 28: Linea 25:
 * 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 27:
interval daily 7
interval weekly 4
interval monthly 6
cd /smb/server.dominio.it/condivisionesmb
Linea 40: Linea 30:
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|DNS]] e non al nome NetBIOS.'' ||
Linea 42: Linea 32:
= 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 43: 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 48: Linea 76:
Se invece si intende fare il backup di porzioni di file system di un sistema remoto, è possibile utilizzare [:SSHHowto:ssh]:
Digitare il seguente comando per impostare i giusti [[PermessiFile|permessi]]:
Linea 51: Linea 78:
backup root@example.com:/home/ example.com/ sudo chmod 755 /etc/auto.smb
Linea 54: Linea 81:
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:
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 57: Linea 83:
exclude *.mp3 username=username_samba
password=password_samba
Linea 60: Linea 87:
Le diciture «username_samba» e «password_samba» con il nome utente e la password necessari per l'accesso.
Linea 61: Linea 89:
== Backup Script == = Montare una directory Nfs =
Linea 63: Linea 91:
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:
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 67: Linea 93:
#!/bin/bash

mysqldump nomedatabase --user=root --password=passworddiroot > dump.sql
cd /net/server.dominio.it/condivisionenfs
Linea 72: Linea 96:
Dopo aver personalizzato il nome del database, il nome utente e 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}}} tutti 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

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/
}}}

== Cron ==

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

Una configurazione di esempio che
 * lanci il backup giornaliero alle 00:00
 * lanci il backup settimanale la domenica alle 6:00
 * lanci il backup mensile ogni primo del mese alle 12:00
potrebbe essere la seguente:

{{{
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 158: 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]]


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 Nfs o Samba. Il montaggio automatico di dispositivi rimovibili è infatti già fornito da Hal nel sistema base.

Installazione

Il programma è presente nel componente universe dei repository ufficiali. Una volta abilitato tale componente è sufficiente installare il pacchetto autofs.

Configurazione

Aprire il file di configurazione /etc/auto.master con un editor di testo con i 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

Il nome del server si riferisce al nome 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 editor di testo con i 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 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

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