7 de desembre de 2011

Rsync: domesticat?

El tema de les còpies de seguretat a Ubuntu, trobo que no està ben resolt. Ep, abans que em salteu al coll, deixeu-me aclarir un parell de coses:
  • Sé que hi ha fantàstiques solucions automàtiques per servidors, però són massa complexes per a l'usuari normal.
  • També conec l'intent d'Ubuntu de simplificar les coses amb el DéjàDup, però tampoc s'ajusta ben bé al que jo necessito.
De fet, potser el problema és que no vull còpies de seguretat, sinó rèpliques. És a dir:
  • No vull còpies incrementals, sinó una rèplica de l'estructura de directoris en un disc local (normalment extern).
  • No vull còpies automàtiques, sinó llançar-les jo mateix quan ho cregui convenient.
  • Vull poder indicar tota una llista de carpetes a copiar en una sessió.
  • Vull poder indicar quines carpetes/fitxers excloure de la còpia.
La solució és el vell conegut rsync o, millor encara, Grsync, que és la interfície gràfica de GNOME per rsync. Com sempre, l'instal·lem des del terminal:
$ sudo apt-get install grsync
Un cop instal·lat, l'invoquem des del Dash i configurem al nostre gust. En la pestanya d'Opcions inicials seleccionem el directori original i el destí. Observeu el detall que el directori original acaba amb '/'. Això farà que es copiï el seu contingut i no es crei una carpeta addicional en el destí. La resta d'opcions fan que la còpia sigui una rèplica de l'original:


A la pestanya d'Opcions avançades és on hem d'afegir el fitxer on volem indicar la llista de carpetes o fitxers a excloure de la còpia:

La sintaxi d'aquest fitxer és la clau de l'èxit:

Bàsicament, cada línia és una expressió regular que s'aplica ordenadament per indicar quines carpetes i/o fitxers cal excloure o afegir a la llista. La '/' inicial indica que l'expressió s'aplica a l'inici del camí (arrel del directori font, no del sistema d'arxius). Si no hi és, l'expressió s'aplica des del final. La '/' final indica que l'expressió només s'aplica a directoris, mentre que si no hi és, s'aplica als fitxers. Així, en aquest fitxer:
  • La primera línia inclou el directori '.grsync', mentre que la segona exclou tots els directoris que comencin per '.' a l'arrel del directori origen.
  • S'exclouen les carpetes 'Baixades', 'Dropbox', 'Ubuntu One' i 'VirtualBox VMs'  de l'arrel del directori origen. Noteu que no s'ha de fer res especial per tractar els espais en el nom del directori.
  • Dins de la carpeta 'Normal', s'exclouen els fitxers que comencen per '.' i el directori 'Wine'.
  • Finalment, tot directori '.cache', estigui on estigui en l'arbre de directoris, serà exclòs (és a dir, s'aplica en totes les subcarpetes).
Espero que l'exemple us hagi estat útil i sigui suficient per començar a fer còpies de seguretat de manera senzilla. En tot cas, sempre es pot consultar el manual del rsync per més informació.
Ah! I si coneixeu alguna altre solució de còpia de seguretat, més simple i més bonica, no dubteu en comentar-ho !

Cap comentari:

Publica un comentari a l'entrada