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 6 e 67 (in 61 versioni)
Versione 6 del 20/09/2007 08.43.57
Dimensione: 5358
Commento: guida revisionata, CategoryHomepage per la pagina Prove
Versione 67 del 29/09/2007 12.49.54
Dimensione: 5743
Commento:
Le cancellazioni sono segnalate in questo modo. Le aggiunte sono segnalate in questo modo.
Linea 8: Linea 8:
'''Monit''' è una applicazione utile a monitorare lo stato di file, directory, processi e periferiche. È in grado di intraprendere particolari misure di manutenzione nel caso in cui riscontri particolari anomalie. '''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.
Linea 12: Linea 12:
Il programma è presente nel [:Repository/Componenti:componente] '''universe''' dei [:Repository:repository] ufficiali. Una volta abilitato tale componente è sufficiente [:InstallareProgrammi:installare] il pacchetto ''monit''. Il programma è presente nel [:Repository/Componenti:componente] '''universe''' dei [:Repository:repository] ufficiali.
Linea 16: Linea 16:
Per configurare l'applicazione è sufficiente modificare con un [:EditorDiTesto:editor di testo] con i [:Sudo:privilegi di amministrazione] il file di configurazione `/etc/monit/monitrc`. 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. 
Linea 18: Linea 18:
Prima di tutto è necessario specificare quali [:Server/Mail:server di posta] verranno utilizzati per l'invio dei messaggi di notifica. È possibile aggiungere diversi server di posta con le relative porte. Supponendo di voler utilizzare per l'invio della posta i server `mx1.example.com` con porta standard 25 e `mx2.example.com`, con porta 10025, occorre aggiungere al file di configurazione la seguente direttiva: ||<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
Linea 20: Linea 23:
set mailserver mx1.example.com,
               mx2.example.com port 10025
rsnapshot_root /var/cache/rsnapshot/
Linea 24: Linea 26:
Specificare poi l'indirizzo mittente da cui l'applicazione invierà la posta, ad esempio `monit@example.com`: 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:
Linea 26: Linea 35:
set mail-format { from: monit@example.com } interval daily 7
interval weekly 4
interval monthly 6
Linea 29: Linea 40:
Specificare l'indirizzo a cui le mail di notifica dovranno essere consegnate (es. `sysadmin@example.com`) 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:
Linea 31: Linea 43:
set alert sysadmin@example.com backup /home/ localhost/
backup /etc/ localhost/
backup /usr/local/ localhost/
Linea 34: Linea 48:
Abilitare il [:Server/Web:server web] interno per accedere all'interfaccia di amministrazione. È possibile specificare a quali indirizzi consentire l'accesso (es. `localhost`) e quali utenti, con le relative password. Nell'esempio che segue verrà configurato un singolo accesso di amministrazione per l'utente «admin» con password «monit»: Se invece si intende fare il backup di porzioni di file system di un sistema remoto, è possibile utilizzare [:SSHHowto:ssh]:
Linea 36: Linea 51:
set httpd port 2812 and
     use address localhost # accetta connessioni solo da localhost
     allow localhost # permette la visualizzazione solo se la richiesta proviene da localhost
     allow admin:monit # utente admin con password monit
backup root@example.com:/home/ example.com/
Linea 42: Linea 54:
Una configurazione più sicura prevede l'utilizzo di SSL. Per far ciò è necessario generare un certificato '''x509''' valido. Supponendo che questo sia contenuto, insieme alla relativa chiave privata, nel file `/var/certs/monit.pem` occorre aggiungere una direttiva del seguente tipo: 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:
Linea 44: Linea 57:
set httpd port 2812 and
     SSL ENABLE
     PEMFILE /var/certs/monit.pem
     allow admin:monit
exclude *.mp3
Linea 50: Linea 60:
Qualora si vogliano monitorare le risorse utilizzate dal sistema, è possibile aggiungere una regola che avvisi l'amministratore nel caso in cui alcune soglie vengano superate. Quello che segue è un esempio generico:
== 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:
Linea 52: Linea 67:
check system server.example.com
    if loadavg (1min) > 4 then alert
    if loadavg (5min) > 2 then alert
    if memory usage > 75% then alert
    if cpu usage (user) > 70% then alert
    if cpu usage (system) > 30% then alert
    if cpu usage (wait) > 20% then alert
#!/bin/bash

mysqldump nomedatabase --user=root --password=passworddiroot > dump.sql
Linea 61: Linea 72:
Se si desidera invece monitare i permessi e il proprietario di una particolare cartella di sistema è utile aggiungere una regola simile alla seguente: Dopo aver personalizzato il nome utente con la relativa password è possibile richiamare lo script a partire dal file di configurazione sopra citato
Linea 63: Linea 75:
check directory bin with path /bin
    if failed permission 755 then unmonitor
    if failed uid 0 then unmonitor
    if failed gid 0 then unmonitor
backup_script /root/scripts/backupmysql.sh localhost/mysql/
Linea 69: Linea 78:
Per monitare un servizio di sismtema è utile aggiungere una direttiva simile alla seguente: '''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:
Linea 71: Linea 85:
check process slapd with pidfile /var/run/slapd/slapd.pid
   start program = "/etc/init.d/slapd start"
   stop program = "/etc/init.d/slapd stop"
   if failed host 192.168.1.1 port 389 protocol ldap3 then restart
   if 5 restarts within 5 cycles then timeout
sudo rsnapshot configtest
Linea 78: Linea 88:
Nella configurazione dell'esempio sopra citato, qualora il server '''ldap''' risultasse non disponibile, '''monit''' provvederà a riavviarlo. = Eseguire rsnapshot =
Linea 80: Linea 90:
Per monitare un PC remoto su cui gira una istanza di [:Server/MySql:MySql], è utile aggiungere una direttiva simile alla seguente: '''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:
Linea 82: Linea 95:
check host myserver with address 192.168.1.1
    if failed icmp type echo count 3 with timeout 3 seconds then alert
    if failed port 3306 protocol mysql with timeout 15 seconds then alert
sudo rsnapshot daily
Linea 87: Linea 98:
Le diciture «myserver» e «192.168.1.1» vanno sostituite con gli indirizzi adatti ai propri scopi. per il backup settimanale:
Linea 89: Linea 100:
= Avvio del servizio =

Aprire il file `/etc/defautl/monit` con un [:EditorDiTesto:editor di testo] con i [:Sudo:privilegi di amministrazione], dunque modificare la variabile «startup» come nell'esempio seguente:
Linea 93: Linea 101:
startup=1 sudo rsnapshot weekly
Linea 96: Linea 104:
Infine avviare il servizio con il seguente comando in una finestra di terminale: e per il mensile:
Linea 98: Linea 107:
sudo /etc/init.d/monit start sudo rsnapshot monthly
Linea 101: Linea 110:
L'interfaccia amministrativa di '''monit''' sarà raggiungibile mediante all'indirizzo [http://localhost:2812]. Passando il flag {{{-t}}} al comando è possibile testarne il funzionamento. Verranno semplicemente stampate a video tutte le azioni che '''rsnapshot''' eseguirà.
Linea 103: Linea 112:
{{{
$ 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/
}}}
Linea 106: Linea 141:
 * [http://www.tildeslash.com/monit/ Sito ufficiale del progetto]
 * [http://www.tildeslash.com/monit/doc/examples.php Esempi di configurazione]
 * [http://www.howtoforge.com/server_monitoring_with_munin_monit_debian_etch Server Monitoring With munin And monit On Debian Etch]
 * [http://www.rsnapshot.org/ Sito ufficiale del progetto]
 * [http://www.rsnapshot.org/howto/1.2/rsnapshot-HOWTO.en.html Rsnapshot HOWTO]
Linea 111: Linea 144:
CategoryHomePage CategoryHomepage

BR

Introduzione

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. BRSe utilizzato in concomitanza con [:SSHHowto:ssh] può effettuare il backup anche di sistemi remoti.

Installazione

Il programma è presente nel [:Repository/Componenti:componente] universe dei [:Repository:repository] ufficiali.

Configurazione

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.

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

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

rsnapshot_root  /var/cache/rsnapshot/

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:

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

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/

Ulteriori risorse


CategoryHomepage