Dimensione: 6323
Commento:
|
← Versione 118 del 14/03/2011 12.57.33 ⇥
Dimensione: 4896
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. |