Backup automat, simplu cu ActionScript si rsync

De ceva timp caut o solutie simpla de backup a fisierelor de lucru pe sistemul serviciului Dropbox.

De la ce am pornit:

  • Am o mapa cu lucrari care trebuie sincronizata cu o alta mapa de pe un harddisk extern sau disc AFP aflat pe server
  • Nu vreau sa coste bani
  • Trebuie sa ruleze automat de fiecare data cand modific ceva in folderul respectiv
  • Nu vreau sa ma complic cu niste configuratii avansate de BASH, PERL sau cron
  • Mapa copiata vreau sa fie disponibila si celor care au windows deci automat exclud solutia Time Machine de la Apple

Exista in primul rand o serie de sisteme destepte care ofera gratuit intre 2 Gb si 8 gb de spatiu disponibil si fac exact ce am eu nevoie. Problema este ca aceste sitsteme au doua mari dezavantaje. Primul este ca majoritatea sunt gazdiute pe Amazon si prin urmare trebuie sa ai o conexiune de internet serioasa pe extern daca nu vrei sa astepti cateva zile pana ce se sincronizeaza fisierele si in al doilea rand costa bani. Nu sunt sume extraordinare majoritatea fiind pe la 20 USD/luna pentru ca. 100 Gb de spatiu chiar si mai ieftin.

Combinatia dintre cele doua dezavantaje si faptul ca am fisiere mari de sincronizat si in plus faptul ca am deja un server de fisiere bazat pe linux in firma m-au facut sa caut o solutie alternativa.

Ce trebuie mentionat este ca serviciile de mai sus contra cost ofera si posibilitatea de a accesa fisierele din mai multe locatii si sincronizarea este bidirectionala (cei de la Dropbox au un film pe site care explica ce inseamna acest lucru). In plus majoritatea sistemelor au si optiunea de versioning (pot sa ma intorc la o versiune anterioara a fisierului actual).

Toate aceste lucruri se pot obtine si intr-o versiune homemade a sistemului, dar scopul acestui tutorial nu este de a explica cum se face acest lucru deoarece implica cunostinte avansate de Linux si command line.

Plec de la premisa ca vrei sa sincronizezi un folder aflat pe computerul tau cu un alt folder aflat pe un harddisk extern sau un disc AFP conectat in retea.

O sa ai nevoie de aceste lucruri:

  • Un AppleScript care se ocupa de sincronizare disponibil aici: sync shared folder.scpt
  • Programul Growl instalat, pentru a avea notificari vizuale ale sincronizarii reusite sau esuate.

 

Pasii care trebuie urmati:

  1. Instalezi Growl
  2. Descarci fisierul AppleScript accesand link-ul de mai sus si il instalezi in /Library/Scripts/Folder Action Scripts
  3. Daca dai dublu click fisierul se va deschide in AppleScript editor unde trebuie sa modifici o singura linie de text.
    Linia care trebuie modificata este aceasta:
    set TARGET to “/Volumes/dani/work/test”
    Daca nu cunosti path-ul catre mapa unde vrei sa sincronizezi fisierele (parctic  mapa aflata pe hard discul extern sau discul AFP) poti sa megi la mapa respectiva in Finder si sa o tragi cu drag&drop in editorul AppleScript si vei vedea ca o sa-ti apara o cale de formatul /Volumes/nume volum/mapa.  Aceasta cale trebuie sa fie plasata intre ghilimelele de mai sus stergand textul existent.
    Salvezi modificarea.
  4. Daca dai click dreapta pe mapa care doresti sa o sincronizezi, ai sa vezi in partea de jos meniul Services > Folder action setup
  5. Din lista respectiva selectezi scriptul salvat mai devreme si activezi Enable Folder Actions.
  6. Cand copiezi sau stergi un fisier din mapa aflata pe computerul tau acesta se sincronizeaza cu mapa externa.

Trebuie mentionat ca procesul poate sa fie reluat si se pot realiza un numar nelimitat de scripturi in cazul in care vrei sa faci sincronizarea pentru mai multe fisiere. Este de preferat ca numele scriptului sa fie intuitiv pentru a fi indetificat usor in lista de actiuni.

Pentru utilizatorii avansati exista posibilitatea de workflow-uri foarte avansate care se pot realiza cu astfel de scripturi dar acestea vor fi tema unui alt tutorial pentur setari si mai avansate de backup.

Post to Twitter

Despre Daniel Nanboe

Utilizator Mac din anul 1995, cu experienta in programe grafice, configurarea retelelor mixte Apple, Windows si Linux si utilizator de Mac OS X si Linux. In momentul actual este Directorul de creatie al firmei Hype si editor pentru Punctmac.ro.

3 Comments

  • 25/05/2011 | Permalink |

    am citit de 3 ori articolul si tot nu am inteles care e scopul.

  • 25/05/2011 | Permalink |

    am citit de 3 ori articolul si tot nu am inteles care e scopul. (Mapa = dosar?)

  • Daniel Nanboe
    26/05/2011 | Permalink |

    salut pe scurt este vorba de un back-up automat a unui folder fara utilizarea unui software special si fara a fi nevoie de o actiune din partea utilizatorului.
    Este posibil sa nu ai nevoie de asa ceva si atunci asta sa fie motivul pentru care nu ai inteles despre ce este vorba sau este posibil sa fi explicat eu prost si mult prea tehnic despre ce este vorba in acest tutorial.

    Si da Mapa = Folder

Spune-ti parerea

Adauga un comentariu mai jos sau adauga trackback de la site-ul tau. Poti sa te abonezi la aceste comentarii prin RSS

Adresa ta de mail nu este niciodata publica. Campuriile obligatorii sunt marcate cu *