Ceci n'est pas un blog

Blog personale di Ivan Agliardi con pagine di informatica, linguaggi, idee…

Sincronizzazione "al volo" con `rsync`

Capita a tutti di dover programmare un backup periodico da un server ad un altro. Immaginiamo di volere effettuare ogni giorno ad una certa ora la copia completa di tutti i file contenuti in una certa directory da un server (che chiameremo A) ad un altro (che chiameremo B). Una soluzione semplice consiste nel programmare la sincronizzazione da remoto mediante il programma rsync. Il programma verrà lanciato dal server B, in maniera tale che il server A subisca passivamente il backup – in forma di prelievo di dati – senza possibili conseguenze gravi.Presupponendo che su entrambi i server giri Debian GNU/Linux, ecco un metodo semplice ma efficace:

  1. Se non lo si è già fatto prima, installare il programma rsync sul server B:
    apt-get install rsync
  2. Generare sul server B le chiavi per l’accesso da remoto senza password:
    ssh-keygen -t dsa -b 1024 -f $HOME/$HOSTNAME-rsync-key
    Attenzione! Non inserire alcuna passphrase quando viene richiesto. Ne risulteranno due files il cui nome dipende dalla hostname del server su cui si sta lavorando, ad esempio:
    bidone-rsync-key
    bidone-rsync-key.pub
  3. Copiare sul server A la chiave pubblica così creata:
    scp $HOSTNAME-rsync-key.pub remoteuser@remotehost:~
    Ad esempio:
    scp bidone-rsync-key.pub ivan@192.168.1.97:~
  4. Sul server A aggiungi la chiave pubblica alla lista delle chiavi autorizzate:
    cat $HOSTNAME-rsync-key.pub >> ~/.ssh/authorized_keys
    Ad esempio:
    cat bidone-rsync-key.pub >> .ssh/authorized_keys
  5. A questo punto è già possibile effettuare il backup automatico di una directory dal server A al server B lanciando rsync via ssh senza bisogno di inserire la password di accesso remoto, come si vede nel seguente esempio:
    rsync -a --delete-after -e "ssh -i bidone-rsync-key" ivan@192.168.1.97:/home/ivan/fotografie /home/ivan/
    È sufficiente mettere in cron questo comando e il backup verrà effettuato automaticamente con la frequenza desiderata.

Questo è tutto, gente…

A proposito di Ivan Agliardi

Ho immaginazione e creatività, ma non sono un artista. Faccio interagire tra loro aziende dando vita a nuove imprese, ma non sono un imprenditore. Mi occupo da oltre 15 anni di server Linux, applicazioni web, database, domini, hosting, housing, sicurezza informatica e sistemi embedded, ma non sono un tecnico. Faccio SEO, SEM, SMM e fornisco contenuti attraverso i miei copyrighter, ma non sono un uomo marketing. Ora ho di nuovo un blog, ma non sono un blogger. Sono solo un umanista e un informatico della prima ora. E mi circondo di gente con le palle :)

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *

Ivan Agliardi

Ivan Agliardi