Fájlok és mappák szinkronizációja két gép között

Sziasztok!

Lehet, hogy triviális dolgot kérdezek, de érdekelne, hogy ki milyen programot tudna ajánlani Windowsos gépek közötti szinkronizációra.

A felállás az lenne, hogy van két gép és mindkét gép D:\ meghajtója alatt vannak bizonyos mappák (dokumentumok, virtualbox vms, workspace), amiket szeretnék szinkronizálni. A lényeg kifejezetten a szinkronizáció lenne, tehát nem felhőben akarom tárolni az állományokat. A szinkronizációt úgy gondoltam, hogy amikor mindkét gép online egy helyi hálón, akkor automatikusan szinkronizálnak, de más megoldás is érdekelne, ha van. Nyilván a szinkronizáció két irányban lenne jó, tehát ha szerkesztek vagy törlök egy fájlt az egyik gépen, akkor ez a változás a másik gépen is jelenjen meg.

Ötletek?

Hozzászólások

Aztán mit csinálsz, ha van egy file, majd azt megváltoztatták mindkét gépen, de másként? :)

tr '[:lower:]' '[:upper:]' <<<locsemege
LOCSEMEGE

Jogos felvetés. :) Az kimaradt, hogy egyszerre nincs használva mindkét gép. Van egy laptop, amit az egyetemen/házon kívül használok és van egy desktop gép, amit itthon. Ezeknek a fájljait szeretném szinkronban tartani automatizáltan, mert a manuális ide-oda másolgatás már kezd macerássá válni így napi szinten. Gondoltam arra, hogy írok egy scriptet erre, de aztán eszembe jutott, hogy biztosan van erre bevált program is.

Erre a use case-re (otthoni és benti gép szinkronja szerver nélkül, egymásra nem látnak rá, bár itt még egyidőben nincsenek is bekapcsolva) nálunk egy-két kollégánál bevált az, hogy egy FreeFileSync végzi a másolgatást és egy kis scriptet (*) beállítottunk mindkét gépen logon scriptnek, ami megnézi, hogy egy bizonyos pendrive-ot lát-e a gép (speciel egy sima fájl meglétével csekkoltuk, hogy az-e a pendrive), és ha igen, indít egy FFS-et. Kilépéskor ugyanez, csak ott a HDD -> pendrive irányú a szinkronizálás.

Így "az este otthon dolgozik - felülír egy fájlt - kilépéskor a pendrive-ra kerül - bejön - beteszi a pendrive-ot - bejelentkezik - a fájl átkerül a helyi HDD-re is - dolgozik munkaidőben - kilépéskor az aznapi munkája szinkronizált a pendrive-al - otthon a pendrive-ról a gépre" workflow működik (és eddig csak kétszer kellett utólag munkálkodni a széteső off-line multi-master replikáció hibájából ["otthon hagytam a pendrive-ot"] kézzel helyrehozni.

(*): AutoIt script "lefordítva" exe-be, de igazából mindegy.

BlackY
--
"en is amikor bejovok dolgozni, nem egy pc-t [..] kapcsolok be, hanem a mainframe-et..." (sj)

Nem felejtkeztem el erről, de csak most fértem hozzá a munkahelyi gépemhez... egyelőre még keresem a scriptet, azt már tapasztalatból tudom, hogy az AutoIt wikiben nem írnak hülyeséget azzal kapcsolatban, hogy a decompilerük csak a 3.2 bizonyos verziójáig működik :(
Ha megtalálom, felteszem pl. Github-ra.

Szerk.: Na, meg van. Egy helyen rosszul emlékeztem ("(speciel egy sima fájl meglétével csekkoltuk, hogy az-e a pendrive)"), meg kell adni a meghívásakor, hogy milyen címkéje van a drive-nak. Use at your own risk, stb. stb. LEGYEN BACKUP, MERT HA ROSSZ AZ FFS BEÁLLÍTÓFÁJL, KÉPES ÉS NULLÁZZA AZ ESZKÖZT (én pl. mindenhol megadom, hogy törléses ütközéskor másolja le a fájlokat, valamilyen spam mappában elfér a gépen :) ) https://github.com/sz-blacky/sync

BlackY
--
"en is amikor bejovok dolgozni, nem egy pc-t [..] kapcsolok be, hanem a mainframe-et..." (sj)

Ezt még úgy is megtudod csinálni, hogy adsz a pendrive-nak valami egyedi címkét és amikor megadod a forrást/cél-t így írd be: [pendrive címke]\

+ futtatsz egy RealTimeSync-et (a program része) a megfelelő beállításokkal. (A [pendrive cimkét]\ figyelteted vele + a hozzá való batch)

Így ha bedugod a pendrive-ot vagy írsz rajta valamit, azonnal lefuttatja az adott FFS batch-ot. (Akár mind a két mappát, a forrást és célt is figyeltetheted vele. Ebben az esetben is nagyon hasznos a fenti tanács, hogy állíts be verziókezelést egy külön mappába, mert azonnal felülíródik mindkét helyen.)

https://freefilesync.org/manual.php?topic=variable-drive-letters

https://freefilesync.org/manual.php?topic=realtimesync

Jó kis program, évek óta használom. Kicsit ki kell ismerni, de nagyon hasznos. A kérdezőnek is ezt ajánlom, hálózaton keresztül is működik és a RealTimeSync-el automatizálható. (Verziókezelés, kétirányú sync akár...stb.)

Nézd meg a Windowsban a kapcsolat nélküli fájlokat és a szinkronizáló központot! Hátha tudod használni.

https://syncthing.net/

+1

Pár hete ajánlotta valaki egy topicban, lehet pont te voltál.
Azóta tesztelem, szépen működik, alig fogyaszt valamit.
Platform független, eddig windowson, nason (ARM), androidon próbáltam, mindenhol probléma mentesen elindult, és azóta is működik.

GoodSync nevű programot (fizetős, 10e körüli a license amennyire tudom) ajánlanám, sokáig használtam, nem volt olyan igényem amit ne tudott volna, és nem futottam hibába vele soha. Ami pl. jól jöhet neked is: tud naplózást és változások követését, naplózását teljes fájl szinten, pl. 100 kb-nál kisebb fájlok törlése-módositása esetén a másik oldalt is természetesen ezt megteszi, de előtte csinál belőle egy timestamp-es backup-ot. Elkerülhető az, hogy egyik gépen módositok, de hibásan, és a hiba átkerül a másikra, akkor nincs meg a hiba előtti példány.

+1 goodsync-nek. évek óta használom, bitang jó kis cucc. mindent tud.
én így szinkronizálom a külső vinyókat. bekapcsolom,szinkronizál, ha egy adott százaléknál több adat változik akkor visít,stbstb. tudja a valósidejű szinkronizálást is.
dark souls3-nál kvajó!:D (egy fájlba ment, timestamp-el mentegeti szépen nekem)

Feldobod egy USB3 külső SSD-re, és viszed magaddal?

man robocopy

(mondjuk előtte felmappeled a maghajtókat)

futtathatod az időzítőben akár 5 percenként is, egy a lényeg: az egyik gépen levő állapot lesz, amit a másikon előállítasz
(ebből sajnos sokminden következik)

(a legjobb megoldás sztem az, ha nem kell szinkronizálni semmit, mert a desktop gépre vpn-nel jelentkezel a laptopról)

A "nagy" klasszikus: SyncToy
MS cucc, régen nem fejlesztik, de nekem itthon teljesen jó.
Igaz külső hdd-re használom, de szerintem két gép között is, ha fel vannak mappelve a meghajtók, teljesen jól működik...

Igaz, bizonyos szempontból fapados...
Inkább csak a teljesség miatt említem meg :)
<-------
You can't grep on dead trees.

+1
Folder párokat tudsz vele szinkronizálni.

Command line-ban ha /R kapcsolóval indítod akkor automatikusan végrehajtja a létrehozott párok közötti syncet az ott megadott beállításokkal.
Én egy

net use h: \\másikgép\share
synctoy /R

filet tettem a task schedulerbe és kész.

Ha már listázás, itt van még egy lehetőség:
Git-annex : https://git-annex.branchable.com/

Nem egy katt-katt-kész dolog, de a felhasználóbarátságtalanság mellett legalább rugalmas is lehet. (Sajnos még nem tudtam belemélyedni, nem volt olyan komolyabb tartalomhalmaz ahol kísérleti jelleggel mertem volna használni. De ha valaki bátor és van elég backup -ja, akkor szívesen látnám a tapasztalatokat.)

Sajnos azt nem látom hogy hirtelen nagy mennyiségű változás esetén reklamálna, de a mai zsarolóvirusok korában ez egy jó feature -nek hangzik.

Ha alternatívákat akar az ember találni akkor itt: http://alternativeto.net/software/git-annex/?license=opensource
(Csak tipp a syncthing -hez elég szép számmal látni még érdekesebb megoldásokat.... mint ez: http://alternativeto.net/software/ipfs/?license=opensource )

Illetve ha már freefilesync, én a portableapps -os változatot merném még ajánlani. (Meg ha már pendrive is... B-) )
Már csak azért a lusta megközelítésért is, mert a portableapps -nak van beépített frissítője.

--
RudyD

Sziasztok! Most találtam rá az IPFS-re. Szerintetek ez jó lehet helyi gép és hálózati mappa szinkronizációjára?

gyrgyvrs

Szerkesztve: 2020. 05. 26., k - 17:48

Ha már fel lett hozva a topik, leírom a tapasztalatokat:

2017 óta a Syncthing-et használom a két gép között, mert alapjában véve bevált, de vannak hülyeségei, amikre érdemes odafigyelni:

  • Op.rendszer újratelepítése után célszerű átnevezni a szinkronizált mappákat és hagyni, hogy újra lehúzza a másik eszközről, mert tapasztalatom szerint, ha már létezik a mappa és valami okból van köztük differencia, akkor képes megbolondulni és legyalulni a szinkronizált mappák tartalmát az összes eszközről. Nem teljesen értem, hogy miért, de nagyjából annyi a történet, hogy az új telepítés megpróbálja áthúzni a meglévő gépről a fájlokat, a meglévő gép pedig megpróbálja az újról áthúzni, mert ő is azt látja, hogy különböznek a fájlok, végeredményben pedig ütközések keletkeznek és törlődik mindkét gépről az összes tartalom. - Ezt még lehet tetézni azzal, ha ütközésfeloldásnál "rossz" megtartandó fájlt választ ki az ember és akkor mindkét gépnél beragad a szinkronizációs folyamat hibával, amit a jó isten sem old meg utána.
  • Virtuális gépek automatikus szinkronizációja alkalmatlan, bár ez logikus, hiszen a virtuális diszkek állománya folyamatosan változik futás közben. Helyette manuálisan kell elindítani a szinkronizációt és minden esetben előtte le kell állítani a virtuális gépeket.
  • Fájlok/mappák átnevezésekor a kis-nagy betű cseréket nem mindig követi le, ilyenkor "a fájl nem található" hibával elszáll a szinkronizálás. A megoldás, hogy manuálisan vissza kell nevezni a hivatkozott fájlt/mappát mindegyik eszközön, megvárni, hogy újra szinkronba kerüljenek és ismét lehet próbálkozni az átnevezéssel.
  • A verziókövetés nem működik megbízhatóan: Amikor vissza kell állítani egy fájlt, akkor ugyan ott van a listában, de nem mindig sikerül visszaállítania (szemetes fájlverzió-követés).
  • A kezdeti mappaátnézés pörgeti a merevlemezt rendesen, ugyanez igaz, ha hirtelen nagy mennyiségű változás történik a mappákban két csekkolás között.

Hmm. Ezt próbáltam, a távoli gépen sajnos nem tudom futtatni.

gyrgyvrs