rsync, ssh ed il backup


Ce ne sono molti di software che permettono di fare il backup di cartelle/files, con bellissime interfacce grafiche ma… io preferisco il vecchio metodo… rsync, ssh ed il gioco è fatto😀


Per prima cosa sul Server occorre installare un server SSH, inutile parlare qui di questo aspetto e per questo vi rimando alla pagina del Wiki, e vi consiglio di seguire soprattutto questo paragrafo
Detto questo… ecco il comando che lancio io per fare il backup della mia home
rsync -vaz -e ssh $HOME/ paper0k@serverone:/Backup/paper0k/
dove paper0k@serverone è rispettivamente l’account remoto (paper0k) sul server remoto (serverone) e /Backup/paper0k è la cartella remota dove scaricare la mia home ($HOME)
Al primo avvio ovviamente ci metterà un pochino, perchè dovrà allineare le due cartelle (locale e remota) ai successivi lanci però, verranno allineati solo i files nuovi/modificati
Se necessitiamo inoltre di cancellare i files sul server non più presenti nella home, allora dobbiamo usare l’opzione delete preferibilmente associata alla maxdelete=NUM per cancellare al massimo NUM files dalla cartella di destinazione e per ulteriori dettagli vi consiglio di leggere la manpage
man rsync
Certo, il server, dovrà avere abbastanza spazio🙂

8 thoughts on “rsync, ssh ed il backup

  1. davide ha detto:

    ci sono in debian degli ottimi script o programmi (chiamali come vuoi) che si basano su rsync per creare dei backup, come dirvish e altri, io in particolare ne uso uno ogni tanto, ma ora sono al lavoro e non mi ricordo il nome🙂

  2. davide ha detto:

    si si, mi son spiegato male, sono script che usano rsync. si tratta di usare rsync e ssh travestiti da prog, questo rende un pelo piu agevole la questione, fai un file di conf e via.

    tra l’altro ho letto che esiste anche l’equivalente di time machine, usando python, rsync.

    il prog che uso di solito non me lo ricordo mannaggia… e non è installato qui, ma solo a casa, a 2000 km… cmq dai un occhio a duplicity o dirvish per capire che intendo

    ciao!

  3. Apple Time-Machine è ben altro che un semplice programma che sincronizza. Time-Machin è un architettura di backup che parte dalle basi di COCOA (le API di OSX) dove ad ogni chiamata che rappresenti un cambiamento per un file (creazione, modifica, cancellazione, …) vanno a richiamare l’infrastruttura di Time-Machine sottostante per vedere cosa fare.

    E’ “solo” una furbacchionata se ci pensate, ma è una bella furbacchionata🙂

    rsync per quanto un ottimo prodotto, può essere messo in cron, ma non direttamente in coimbinata con le API.
    Per far questo bisognerebbe integrare un certo discorso nelle GTK/QT … non la vedo una furbata modificare le syscall, queste devono essere minimali ed essenziali e veloci ….. bisogna quindi lavborare ad un livello di astrazione maggiore e quindi lavorare sulle API dei vari toolkit …. ma poi il programmatore dovrebbe usare i toolkit appieno e non solo per disegnare la gui. quindi per aprire/modificare/cancellare un file non dovrebbe passare dalle syscall ma dalle API del toolkit utilizzato.

    penso che sotto GTK la “open” si chiami “gopen”.

    bye bye

  4. davide ha detto:

    cmq parecchio interessante il tuo blog.
    molto più di altri, come hai fatto a tenerlo nascosto dal mio lettore di feed?😛

  5. davide ha detto:

    yattamax, c’e’ n progetto che si propone come la trasposizione di time-machine per linux, dovrebbe essere su code.google.com, non ricordo il nome pero’… sai se si propone di fare quello che dici tu, passando per le api, o e’ solo un cron+rsync+utili_ameniccoli+bella_interfaccia?

Lascia un commento

Inserisci i tuoi dati qui sotto o clicca su un'icona per effettuare l'accesso:

Logo WordPress.com

Stai commentando usando il tuo account WordPress.com. Chiudi sessione / Modifica )

Foto Twitter

Stai commentando usando il tuo account Twitter. Chiudi sessione / Modifica )

Foto di Facebook

Stai commentando usando il tuo account Facebook. Chiudi sessione / Modifica )

Google+ photo

Stai commentando usando il tuo account Google+. Chiudi sessione / Modifica )

Connessione a %s...