rsync kérdés

Fórumok

Amit szeretnék:

- Adott mappa fájljainak változása esetén sync a backup mappába, de nem felülírással, hanem:
- előző változat átnevezése
- új fájl átmásolása csak ezután

Nem találtam a manual-ban, se tutorial-okban, hogy egyáltalán hogy nevezik ezt a fajta megoldást, changelog néven ismertem eddig editor-okból, illetve rolling backup néven is hivatkoztak már olvasmányaimban, szinte biztos, hogy tévesen.

Milyen megoldást tudnátok rá ajánlani? Shell script-ekben nem vagyok otthon, de jó tutorial-al hajlandó vagyok megküzdeni.

Ugyanitt lada eladó: szeretnék shell script-eket háttérben futtatni, parancsikonnal, osd notification-ben vagy egyszerű ablakban százalékjelet mutatni, és folyamat végén egyszerű press-OK dialog-ot megjeleníteni. Merre keressek?

Köszönet,
cherockee.

Hozzászólások

A már ott lévő fájlok változását leginkább ott tudod monitorozni, ahonnan a változás kiindul. Nyilván lehet másként is, de szerintem ez a legkézenfekvőbb.
Az rsync abban tud neked segíteni, hogy rendszeresen futtatva mindig más nevű könyvtárba szinkronizálsz. Megadod a --compare-dest paramétert. Ekkor csak az eltéréseket fogja átvinni, a többire hardlinket fog készíteni. Ez egyfajta fájl szintű deduplikáció. Igen sok mentésed lehet így egy igen kicsi helyen.

Esetleg ezeket érdemes megnézned:
--modify-window
--backup-dir
--backup és --suffix
--compare-dest

Linuxscripting

Köszönet, ez lesz szerintem az irány, ha jól sejtem ezzel megoldható amit az alább írtam:

"
... folyamatosan egy teljes másolat up-to-date, és egy changelog, ahogy leírtam, csak a változott fájlokat tartja meg. Akár két külön rsync futtatásként, tehát egy másolat készítés a változottakról, majd egy felülírós backup-olás.
"

Neked nem rsync, hanem cvs/svn/fsvs/estébé kellene szerintem...

progress:

listáztam, hogy mik jöhetnek szóba, backup témában:
deja-dup
unison
conduit
irsync - incremental rsync
chronosync
duplicati
opbyte grsync
freefilesync

a freefilesync feature listában volt egy ilyen:
"Keep versions of deleted/updated files"

talán ez írja le legjobban, hogy mi kell nekem...legtöbb fájlt nem szerkesztem soha, lásd média fájlok, notepad-os szerkesztéseimről van changelog (bár ott is van egy hiba, az első, szerkesztés előtti állapotról nincs), de pl egy képről nincs, manuálisan nem akarok mindent felügyelni kézzel.

jelenleg kiértékelem, hogy mennyi ütközést okozhat ha időközönként futtatok biztonsági másolatot, azzal szemben, hogy ha a fájlok megnyitás előtt megnézik, hogy van-e mentve a fájl már (lásd még a fenti, notepad-os probléma)

érdekelnének a tapasztalatok a témában.

--backup --backup-dir=changed/`date +%Y%m%d`

Jól sejtem, ez az egész backup-ot megcsinálja, csak dátumozott mappába? Nekem nem ez a célom, hanem folyamatosan egy teljes másolat up-to-date, és egy changelog, ahogy leírtam, csak a változott fájlokat tartja meg. Akár két külön rsync futtatásként, tehát egy másolat készítés a változottakról, majd egy felülírós backup-olás.

Nem jól értetted. Ezt írtam fent. Elkészíti a másolatot látszólag. A gyakorlatban viszont a változatlan fájlokra hardlinkeket készít.
Egyre inkább úgy érzem, hogy neked - ahogyan Zeller is írta - verziókezelőre van szükséged. Pont azt csinálja amit szeretnél.

Linuxscripting

rsync - akkor gyakorlatilag az előző hardlink-es backup-hoz hasonlítva megkapnám a változásokat, és arról készítenék csak másolatot? ez egész jónak tűnik.

verziókezelő - tudsz segíteni, hogy milyen módon kezdjek el okosodni ezügyben? főleg ilyen jellegű alkalmazásra érdekelne a téma, még programozás terén se volt dolgom ilyen rendszerekkel komolyabban

van arra valamilyen automatizációs megoldás, hogy ha létrehozok új fájlokat, vagy letöltök, másolok, akkor a fájlokról létrejöttükkor másolat készüljön? az x percenként futtatás nem tűnik hatékonynak, másodpercek alatt létrehozok és törlök valamit, akkor az nem lesz backup-olva. van erre valamilyen beépülő daemon, ami a fájlrendszer változásairól jelent?