Backup remoti con rsnapshot

Informatica

Dopo aver visto come usare rsnapshot per fare backup locali, vediamo come usarlo per fare backup su altri computer in rete. Dopo tutto, non è molto più difficile che fare backup locali...

Nella mia rete locale ho tre computer: castor, il mio desktop con Mandriva gnu/linux che viene usato spesso e che fa già i backup in locale su un hard disk secondario, pollux, un iMac G3 con su Mac Os X 10.3 che viene usato saltuariamente e linutop, il mio serverino di sviluppo LAMP Debian che è sempre acceso, privo di schermo.

Evidentemente linutop e pollux richiedono approcci di backup differenti.

Backup serverino debian linutop

Questo è il più facile: aggiungo queste righe a /etc/rsnapshot.conf su castor:

backup  root@linutop:/etc/      linutop/
backup  root@linutop:/var/      linutop/
backup  root@linutop:/root/     linutop/
backup  root@linutop:/home/     linutop/
backup_script   /root/backup_script/backup_mysql.sh linutop/
backup_script   /root/backup_script/backup_dpkg.sh  linutop/

Le prime tre righe salvano il contenuto di /etc, /var e /home dal serverino linutop su castor, le ultime due eseguono degli script. Il primo fa un dump dei database di mysql, che essendo in esecuzione al momento della copia di /var/ probabilmente avrà restituito una copia inutilizzabile, il secondo salva la lista dei pacchetti installati, in modo che sia possibile ripristinarli in seguito.

Più in dettaglio, questo è il contenuto del primo script, /root/backup_script/backup_mysql.sh, tratto dalla documentazione di rsnapshot:

#!/bin/bash
##############################################################################
# backup_mysql.sh
#
# by Nathan Rosenquist <nathan@rsnapshot.org>
# http://www.rsnapshot.org/
#
# This is a simple shell script to backup a MySQL database with rsnapshot.
#
# The assumption is that this will be invoked from rsnapshot. Also, since it
# will run unattended, the user that runs rsnapshot (probably root) should have
# a .my.cnf file in their home directory that contains the password for the
# MySQL root user. For example:
#
# /root/.my.cnf (chmod 0600)
#   [client]
#   user = root
#   password = thepassword
#   host = localhost
#
# This script simply needs to dump a file into the current working directory.
# rsnapshot handles everything else.
##############################################################################
# $Id: backup_mysql.sh,v 1.5 2005/04/03 13:52:02 scubaninja Exp $

# backup the database
ssh root@linutop -i ~/.ssh/rsnapshot_dsa /usr/bin/mysqldump --defaults-extra-file=/root/.my.cnf --all-databases > mysqldump_all_databases.sql

# make the backup readable only by root
/bin/chmod 600 mysqldump_all_databases.sql

Questo invece è il contenuto del secondo script, /root/backup_script/backup_dpkg.sh:

#!/bin/bash
# salva una lista di pacchetti ripristinabile con la sequenza di comandi:
# apt-get update
# apt-get dist-upgrade
# dpkg --clear-selections
# dpkg --set-selections < dpkg-restore.txt
# apt-get -u dselect-upgade --purge
#
# in questo modo si possono ripristinare i pacchetti installati a partire
# da un'installazione minimale. Ripristinando /etc, /home e /var si ripristina
# anche la configurazione e i dati. Ricordarsi di controllare anche /boot/grub
ssh root@linutop -i ~/.ssh/rsnapshot_dsa /usr/bin/dpkg --get-selections > dpkg-restore.txt
exit 0

Nota: per accedere via ssh a linutop è necessario configurare l'accesso tramite chiave publbica. Vedi la parte "Accesso SSH con chiave pubblica".

Ripristino serverino debian linutop

Per un ripristino completo, posso fare un'installazione minimale o ripristinare un vecchio dump del file system, reinstallare i pacchetti mancanti (installati dopo il dump più recente) con i comandi:

aptitude update
aptitude dist-upgrade
dpkg --clear-selections
dpkg --set-selections < dpkg-restore.txt
apt-get -u dselect-upgrade --purge

Poi ricopiare a posto /etc, /home, /root e /var, e poi ripristinare i database con il comando:

mysql < mysqldump_all_databases.sql

Poiché è un piccolo server, si assume che ogni operazione di riprstino venga fatta da root, che può montare/smontare liberamente dischi e condivisioni di rete senza problemi. Per questo non ho previsto alcun modo esplicito per accedere ai backup da linutop (se necessario root fa un mount tramite sshfs).

Backup e ripristino iMac pollux

Su pollux mi interessa solo avere backup della directory utenti /Users.

Poiché pollux è un sistema desktop piuttosto lento, e non è acceso frequentemente, non posso contare su backup settimanali fatti da castor, su cui gira rsnapshot, ne salterebbero troppi, visto che non ho la certezza che pollux sia acceso mentre anacron su castor avvia il backup.

Per questo i backup devono partire da pollux verso castor, visto che è molto probabile che quest'ultimo sia comunque acceso. Vengono sincronizzati i dati di pollux con una directory di castor, e poi da questa vengono fatti gli snapshot periodici. Dunque per pollux, weekly.0 nella dir degli snapshot risalirà a un tempo compreso tra una settimana e dieci giorni fa. Per ora è il meglio che sono riuscito a fare.

Uso allora rsync per fare backup completi di /Users su castor in /mnt/backup/imac-pool con questo script:

script rsync

Lanciato tramite anacron su pollux ogni 3 giorni, così che le modifiche da trasferire siano poche e il backup molto rapido:

configurazione anacron su pollux

Su castor, invece, aggiungo questa riga a /etc/rsnapshot.conf:

backup  /mnt/backup/imac-pool/Users     pollux/

E configuro samba su castor in modo da condividere in rete la directory /mnt/timemachine, così che gli utenti di pollux (che sono gli stessi utenti di castor) possano recuperare i propri file dai backup. Per questa configurazione ho usato il comodo draksambashare nel Centro di Controllo di Mandriva (naturalmente dopo la configurazione ho controllato il risultato in /etc/samba/).

Accedo a questa condivisione samba da pollux in questo modo:

procedura per accedere a samba da pollux

Riferimenti utili

Easy Automated Snapshot-Style Backups with Linux and Rsync

Trackback URL for this post:

http://gerlos.altervista.org/trackback/471

commenti

ritratto di buy text links

re

The mastery of link building packages of company to buy link is acceptable for business owners. Furthermore, that is very important for websites.

ritratto di albertpaul68

Whats up, This is a

Whats up, This is a wonderful summation, I located your blog checking google for any similar subject and observed this. I couldnt find as well significantly other tips and information about 000-978 dumps , JN0-101 dumps , 642-374 dumps , 350-018 dumps , 70-652 dumps , EX0-101 dumps , 640-863 dumps , 70-516 dumps , 70-290 dumps , 646-671 dumps on this posting, so it was fantastic to discover this one. I will almost certainly be returning to think about a number of other articles which you have written another time.

ritratto di buy essays

re

Present college students don't have difficulties with essays writing, because they buy online essays and are able to focus on their personal affairs.

ritratto di dissertation service

answer

Very keen item. With subject being so decisive online, this is a terrific outline for creating new on that people will use for buy thesis.

Invia nuovo commento

Il contenuto di questo campo è privato e non verrà mostrato pubblicamente.
  • Allowed HTML tags: <a> <em> <strong> <del> <cite> <code> <img> <ul> <ol> <li> <dl> <dt> <dd> <pre>
  • Linee e paragrafi vanno a capo automaticamente.
  • Insert Flickr images: [flickr-photo:id=230452326,size=s] or [flickr-photoset:id=72157594262419167,size=m].
  • Indirizzi web o e-mail vengono trasformati in link automaticamente

Maggiori informazioni sulle opzioni di formattazione.

CAPTCHA
Per provare che sei un visitatore umano, rispondi a questa domanda. È per evitare l'inserimento di messaggi spam.
Image CAPTCHA
Enter the characters shown in the image without spaces, also respect upper and lower case.