El teu blog de Linux en català

Còpies de seguretat i sincronització amb Grsync

A l’hora de realitzar còpies de seguretat de les nostres dades, hi ha molts programes que podem triar. Algunes (com Simple Backup, Déjà Dup o Pybackpack) permeten comprimir les còpies de seguretat en un o diversos fitxers, oferint-nos una manera senzilla de recuperar la informació, però les còpies de seguretat no són fàcilment accessibles sense el propi programa.

Logo del Grsync

Logo del Grsync

El Grsync que presento en aquesta anotació, realment ens fa una còpia idèntica de les carpetes de les quals volem tenir una còpia de seguretat. Per tant, els fitxers copiats són fàcilment accessibles a través del nostre explorador de carpetes habitual (el Nautilus si estem utilitzant Gnome). Si tenim prou espai (recordem que no estem comprimint les dades), això presenta una gran comoditat.

El Grsync realment utilitza el rsync per a realitzar aquestes còpies, i hi fa d’interfície gràfica per a facilitar el seu ús. El Grsync funciona comparant els fitxers que hi ha en dues carpetes (la nostra original i aquella on tindrem les còpies de seguretat) i copia només aquells fitxers que siguin nous o que s’hagin modificat en la carpeta original, de manera que no torna a copiar tota la informació cada cop. El Grsync és altament configurable i permet, per exemple, fer còpies de seguretat en altres ordinadors, que s’eliminin en destí els fitxers que també hem eliminat en origen o copiar només els fitxers nous (i no els modificats).

La instal·lació de Grsync és molt senzilla, perquè es troba en els repositoris oficials d’Ubuntu. Es pot fer directament des del Synaptic, o des d’un terminal per mitjà de la comanda:

sudo apt-get install grsync

Obrirem el Grsync des del menú “Aplicacions>Eines del sistema>Grsync”, i ens trobarem la seva pantalla principal:

Pantalla inicial del Grsync

Pantalla inicial del Grsync

Podem crear definicions per a còpies de seguretat de diverses carpetes, cadascuna de les quals serà una “sessió” per al Grsync. Cal indicar el directori d’origen i de destí de la còpia de seguretat, i cal marcar les opcions que ens interessin. Si passem per sobre de cadascuna d’elles, ens explicarà per a què serveixen. Per a les còpies de seguretat normal, segurament les opcions marcades de forma predeterminada ja ens aniran bé. Només cal tenir en compte que, si el directori de destí de la còpia de seguretat té algun format de Windows (FAT, FAT16, FAT32 o ntfs), sobretot cal desmarcar les quatre opcions superiors “Preserve …”, s’ha de marcar el “Skip newer” i la “Windows compatibility” (per tal d’adaptar els noms de fitxer que no es poden utilitzar en els FAT i ntfs).

Quan tenim ben definides les sessions que ens interessen, abans d’executar-les podem fer una simulació (botó “Simulate”), i el Grsync ens mostrarà totes les accions que realitzarà (quins fitxers es copiaran i quins s’esborraran), però no les executarà directament, o fer la còpia per mitjà del botó “Execute”.

Resultat d'una execució del Grsync

Resultat d'una execució del Grsync

Com que tindrem la sessió desada, quan vulguem realitzar una altra còpia de seguretat de la mateixa carpeta, només hem de tornar a obrir el Grsync, seleccionar aquesta sessió, executar-la, i ja copiarà només els fitxers modificats. En l’execució que us he adjuntat, per exemple, el directori d’origen conté 15Gb, i la còpia de seguretat ha durat 33 segons (perquè realment només ha hagut d’esborrar 40 fitxers i de copiar uns 500Mb). Al principi del resultat que ens mostra, el Grsync ens hi escriu també la comanda de rsync que ha utilitzat (amb totes les opcions corresponents), i això és molt interessant, perquè la podrem utilitzar, si ens interessa, en alguna shell nostra per a automatitzar el procés de còpia de seguretat.

Acabaré amb una última consideració, interessant no només per al Grsync, sinó per a qualsevol programa de còpia de seguretat. Podem fer les còpies de seguretat en qualsevol directori? Doncs clar que sí, però depenent d’on estigui físicament el directori de destí, ens assegurarem el fet de poder recuperar les dades en diferents casos de possibles pèrdues (cada cas permet recuperar també les dades del cas anterior):

  • Si el directori original i el de còpia estan en la mateixa partició, només ens assegurarem que podem recuperar les dades si esborrem o fem modificacions accidentalment en els fitxers que conté.
  • Si el directori original i el de còpia estan en diferents particions del mateix disc dur físic, també podrem recuperar les dades si se’ns malmet la partició on tenim el directori original (per un error en el redimensionament de la partició, o si eliminem la partició per error).
  • Si el directori original i el de còpia estan en diferents discos durs físics, podrem recuperar també les dades si el disc dur on hi ha la carpeta original s’espatlla. Aquesta és una molt bona opció en cas que tinguem dos discos durs diferents (tant interns en el mateix ordinador, com si en tenim un d’extern).
    • Joan on 13 d'agost de 2009 at 17:15

    Reply

    Oh, quina delícia! Jo sóc dels que fins ara -recalco, fins ara:)- feia les còpies de seguretat a mà, amb els seus “combina” i “reemplaça’ls tots”. Però això no té preu, oh sí.

    A retocar…242. O.o Amb raó ens vas fer un tutorial del gimp!!
    I quines velocitats de transferència, no? És el poder d’ext4?

    Salutacions, i gràcies de nou!

    • oriolsbd on 13 d'agost de 2009 at 22:41

    Reply

    Sí, va molt bé. Jo ja el porto utilitzant gairebé dos anys. 🙂

    En la velocitat de transferència, sí que hi influeix una mica el fet de ser ext4, però també com tinc organitzades les particions. No és la potència de l’ordinador, perquè ja té uns 6 anys.

    El truc està en que en el meu ordinador hi tinc dos discos durs físics (interns). El directori “original” està muntat en un dels discos, mentre que el directori de Backup el tinc muntat en una partició de l’altre disc dur (tal i com recomano a l’anotació). Si tot estigués en un mateix disc dur físic (encara que fossin particions diferents) els mateixos capçals haurien d’estar llegint la informació original i, alhora, anar-la escrivint sobre el directori de Backup. Com que són dos discos durs diferents, un llegeix i l’altre escriu, de manera que va molt més ràpid. 🙂

    Apart d’això, hi ha el fet que el propi Grsync només copia les dades noves o modificades, com ja comento a l’anotació.

    • Joan on 14 d'agost de 2009 at 13:17

    Reply

    Tens raó, molt encertat com ho tens muntat. Prenc nota 🙂

    • pol on 16 d'agost de 2009 at 19:27

    Reply

    Finalment l’he pogut instal·lar, ara, se’m planteja, com cada vegada que faig un backup, quins directoris conservar i quins no. Poder recuperar tot el sistema en cas de fallida (incloses bases de dades mysql), què és el que podria estalviar-me?

    cercant una mica opinen /etc, /home, i /var. El /var donen un truc interessant aquí

    • pol on 16 d'agost de 2009 at 19:46

    Reply

    I ja posats a demanar…
    no es poden seleccionar múltiples destinacions i destinacions amb permisos root?

    • oriolsbd on 17 d'agost de 2009 at 10:09

    Reply

    Jo només em faig còpia de seguretat dels meus documents, fotos, música, etc. No faig còpia de seguretat del “sistema”. És a dir, ni el /var ni el /etc.

    Pels programes que tens instal·lats, és una bona opció la que comentes, o utilitzar el Remastersys per tenir un CD “instal·lable” amb la teva pròpia configuració.

    Del /etc, segurament també va bé tenir una còpia de seguretat (tot i que jo no en faig), però si has d’anar en compte a l’hora de recuperar-lo. No sé si es poden copiar tots els fitxers, o si has de fer una còpia selectiva.

    • oriolsbd on 17 d'agost de 2009 at 10:11

    Reply

    Per a copiar sobre múltiples destinacions, has de crear-te diverses sessions en el Grsync.

    I per desar fitxers amb “root”, suposo que executant el Grsync amb usuari “root” ja t’ho farà (tot i que no ho he provat):
    sudo grsync

    El que no tinc clar és si executant el grsync amb sudo et veurà les sessions que hagis creat amb el teu usuari, o si cada usuari veurà les seves pròpies sessions.

    Salut!

    • pol on 17 d'agost de 2009 at 14:57

    Reply

    Trobat!
    per a fer guardades remotes només cal guardar a la carpeta

    nomusuari@nomdomini:/home/path

    Falta probar d’executar-lo en root… però donat que ell executa rsync i no em deixa posar-li gksudo al davant no sé pas…

    • oriolsbd on 17 d'agost de 2009 at 16:35

    Reply

    Hola, ja ho he provat i, per fer-ho amb usuari root has d’executar:
    gksudo grsync

    T’obrirà el Grsync sense cap sessió, perquè cada usuari té les seves pròpies sessions. Has de crear les sessions que vulguis per a l’usuari root, i ja les pots executar.

    Salut!

    • pol on 18 d'agost de 2009 at 20:13

    Reply

    oh carai! Perfecte docs, gràcies!!

    • Joan on 24 d'abril de 2010 at 09:01

    Reply

    Hola,

    és possible programar les còpies de seguretat perque es facin a unes hores determinades?

    Salut!!!

    • oriolsbd on 24 d'abril de 2010 at 10:33

    Reply

    Hola, Joan.

    Directament, no es pot, però sí hi ha maneres senzilles de fer-ho. Amb el programa “grsync-batch” (que s’instal·la juntament amb el propi grsync) pots executar una sessió des de terminal per mitjà de la comanda següent:
    grsync-batch nom_sessio

    Llavors, només has d’afegir aquesta comanda en el fitxer /etc/crontab per tal que t’ho planifiqui segons el criteri que a tu t’interessi.

Deixa un comentari

Your email address will not be published.