Linux FTP szinkronizáló

Linux FTP szinkronizáló
2010-04-11T22:04:06+02:00
2013-05-25T17:19:45+02:00
2022-07-31T01:05:24+02:00
Spyerfox
Sziasztok!

Ingyenes FTP szinkronizáló programot keresek linux (ubuntu 9.10) alá. Működését tekintve szeretném, ha hasonló lenne a Dreamweaver FTP fájl menedzseréhez, hogy egy kattintással feltölti, és cseréli az új fájlokat, illetve letölti a gépre az FTP-n igen, de a gépen nem található fájlokat. Mivel nagy mennyiségű adatokkal dolgozom, így okvetlenül szükséges volna hogy mindez automatán, a lehető legkevesebb manuális beavatkozással történjen.

Aki tud ilyen programot, örömmel venném segítségét.
Köszönettel: Spyerfox
Mutasd a teljes hozzászólást!
Az sem olyan nagy gond, ha nem lehet SSH-n bejelentkezned, és így rsync-et nem telepíthetsz. Bár a telepítéshez úgyis rendszergazdai jogosultság fog kelleni, így utólag bele gondolva nem mész semmire azzal, ha van SSH-s hozzáférésed. Inkább azt kellene megtudakolnod a szolgáltatótól, hogy rsync-et telepítenének-e neked, hogy rendszeresen szinkronizálhass. Erre szerintem több esélyed lenne, mint az SSH-ra root jogot kapni.

De:
Mit szólsz ahhoz, hogy lehet, hogy nem is kell neked rsync a szerverre? Ugyanis ar rsync két helyi gépeden lévő könyvtár között is tud szinkronizálni. Ebből az egyik könyvtár legyen az, ahova szinkronizálni kell a szervert, a másik könyvtár meg az első hozzászólásomban leírt felcsatolt távoli FTP. Ugye itt jön ki a nagy előnye annak, hogy a fájlrendszeredbe fel tudod egy alkönyvtárba csatolni egy távoli FTP tartalmát, így ugyanis az rsync a két könyvtár között szinkronizálhat annélkül, hogy tudná, hogy az egyik könyvtár valójában egy távoli FTP tartalma mindenestől. Ugye milyen logikus? Mint minden, ami Linux. És a poén az egészben az, hogy így még az FTP közvetlen elérése is adott a számodra, nem csak szinkronizálva éred el, aminek még sokszor veheted hasznát.

Power of Linux!

Üdv:
Donald Kacsa (PCForum.Hu)
Banderasz (Prog.Hu)


Szerk:
"Nagy guru lehetsz, ahogy így olvasom a hozzászólásaid"

Pedig hidd el, nem vagyok az, csak egy egyszerű Linux felhasználó vagyok. Ha guru lennék, komplett szkriptet írtam volna neked a megoldásra.
Mutasd a teljes hozzászólást!

  • üdv!
    nem tudom, hogy a gftp ezt mind tudja-e de ezt javaslom... ja meg még ott van a filezilla is aminek van linuxra portolt változata is... FileZilla - Client Download
    Mutasd a teljes hozzászólást!
  • Üdv!

    Ehhez nem kell semmilyen külön program. Linux-ban pont az a szép, hogy sokkal egyszerűbb használni, mint a Windows-t. A megoldás kulcsa az, hogy a távoli FTP-t felcsatolod a fájlrendszerbe, aztán utána nem kell semmit sem szinkronizálni; olyan, mintha az FTP tartalma ott lenne a winyódon. A megoldás menete:

    Tételezzük fel a következőket:
    WWW - felcsatolási pont
    XXX - FTP host
    YYY - FTP user
    ZZZ - FTP password

    Először rakd fel curlftpfs nevű cuccot:
    sudo apt-get install curlftpfs

    Aztán nyiss egy könyvtárat, amiben látni és kezelni szeretnéd az FTP-n lévő tartalmat:
    sudo mkdir /mnt/WWW

    Adj jogot magadnak, hogy teljesen elérhesd (itt mindenkinek adok jogot):
    sudo chmod 777 /mnt/WWW

    Nyiss egy új fájlt a saját könyvtáradba (ezzel fogsz csatlakozni az FTP-hez):
    gedit ~/connect.sh

    Írd bele ezt a két sort (mindkét sor végén nyomj ENTER-t), majd mentsd el, és lépj ki a szövegszerkesztőből:
    #!/bin/bash curlftpfs "ftp://YYY:ZZZ@XXX/" /mnt/WWW -o allow_other

    Adj futtatási jogot a fájlra:
    chmod +x ~/connect.sh

    Nyiss az asztalodon egy új hivatkozást (jobb klikk->Új indítóikon létrehozása), melynél a név legyen mondjuk FTP-connect, a parancs meg ez:
    bash ~/connect.sh
    és a jogosultságok lapon jelöld be a "Fájl végrehajtásának engedélyezése programként" jelölőnégyzetet. Végül okézd le.

    Innentől kezzdve ha bekapcsolod a géped, és bebootolt az Ubuntu, akkor csak annyi dolgod lesz, hogy duplán kattintasz az asztalon lévő ikonra, majd minden fájlt, amit az FTP-n elérsz azt sosem kell szinkronizálnod, mert a /mnt/WWW alatt a távoli FTP tartalmát fogod látni. Magyarul ha mondjuk a /mnt/WWW alatt létrehozol egy könyvtárat, az valójában egyből az FTP szerveren fog létrejönni, nem kell még ezt is szinkronizálni. Vagy például ha van egy csomó MP3 zenéd az FTP-n, akkor a /mnt/WWW alatt egyből meghallgathatod őket, nem kell hozzá letölteni. A dolog léynege az, hogy a programok nem is tudják, hogy a /mnt/WWW alatti könyvtárak és fájlok akár a világ másik végén lévő FTP szerveren vannak, a programok ugyan úgy kezelik, mintha rajta lenne az egész FTP a winyódon a /mnt/WWW alkönyvtárban.

    Az egész dolog még tovább fokozható úgy is, hogy még duplakattal csatlakoznod se kelljen, hanem mire bebootolt az Ubuntu, addigra a /mnt/WWW alatt már egyből ott van a távoli FTP tartalma. Ha ezt szeretnéd, akkor így járj el:

    Először rakd fel curlftpfs nevű cuccot:
    sudo apt-get install curlftpfs

    Aztán nyiss egy könyvtárat, amiben látni és kezelni szeretnéd az FTP-n lévő tartalmat:
    sudo mkdir /mnt/WWW

    Adj jogot magadnak, hogy teljesen elérhesd (itt mindenkinek adok jogot):
    sudo chmod 777 /mnt/WWW

    Aztán szerkeszd a /etc/fstab fájlt:
    sudo gedit /etc/fstab

    A fájl végére szúrd be ezt a sort, majd mentsd el és zárd be a szövegszerkesztőt:
    curlftpfs#YYYY:ZZZZ@XXXX/ /mnt/WWW fuse rw,uid=500,user,allow_other 0 0

    Végül hogy még csak újraindítani se kelljen a gépet, add ki ezt:
    sudo mount -a
    Ez ki fog írni néhány sort, ami látszólag panaszkodásnak tűnik majd, de ne ilyedj meg tőle, semmi bajt nem okoz.


    Végezetül megjegyzem, hogy mindkét módszernek (asztali ikonos és automatikus csatolás) két problémája lehet. Egyrészt ha nem akarná felcsatolni a curlftpfs az FTP-s cuccot, akkor vedd ki a kommentet (a # karaktert) a /etc/fuse.conf vájl végén lévő user_allow_other sor elől. A fájlt így éred el:
    sudo gedit /etc/fuse.conf

    A másik probléma meg azzal lehet, ha valami hülye karakter van az FTP-s felhasználónévben vagy a jelszóban, ami megkavarja a curlftpfs-t. Ennek az a megoldása, hogy látogass el erre az oldalra, és alakítsd át a felhasználóneved és a jelszavad megfelelőre az oldalon megjelenő cuccal.
    The URLEncode and URLDecode Page
    Ne lepődj meg, ha az átalakítás után semmit sem változott a felhasználóneved vagy a jelszavad, mert ez azt jelenti, hogy az jól van úgy, ahogy van.

    Ennyi. Kellemes Ubuntu-zást!


    Szerk.:
    Ha elakadsz, vagy további segítség kell, akkor szólj, és felveszlek MSN-re, hogy segíthessek.
    Mutasd a teljes hozzászólást!
  • OFF:
    Szép, szép. Csak ez szerintem nem válasz a kérdésre, így ugyanis nem érhetőek el offline a file-ok. Meg ha online is vagy sokkal lasabb a dolog, mint HDD-re menteni és szinkronizálni mikor lehet/kell.
    Mutasd a teljes hozzászólást!
  • "Meg ha online is vagy sokkal lasabb a dolog, mint HDD-re menteni és szinkronizálni mikor lehet/kell."


    Ez nem igaz. Nekem momentán 5 megabites optikai internet hozzáférésem van csak. Nem több, csak 5 megabit! És ha megnyomon a mentés gombot a szövegszerkesztőben, akkor is mire elengedem az egérgombot, már el van mentve FTP-re. Hát ha ez neked lassú, akkor iszonyúan pöröghet az agyad a melón...
    Mutasd a teljes hozzászólást!
  • Értem. És a vonaton ülve, laptoppal és (jó esetben) GPRS kapcsolattal is gondolom hasít. Főleg mikor épp egy lefedetlen területre érsz.
    Mutasd a teljes hozzászólást!
  • Te:
    "És a vonaton ülve, laptoppal és (jó esetben) GPRS kapcsolattal is gondolom hasít. Főleg mikor épp egy lefedetlen területre érsz."


    vs.

    Spyerfox:
    "Mivel nagy mennyiségű adatokkal dolgozom,.."


    Szerinted a filmetöltéseket majd ő is megbízhatatlan kapcsolatra fogja bírni?
    Mutasd a teljes hozzászólást!
  • Amikor a témanyitót elolvastam egyből arra gondoltam, hogy webes fejlesztésről/adminisztrációról van szó, ezért kell a szinkron és ezért ismeri Spyerfox a DW-t.

    A filmletöltés ritkán igányel szinkronizálást, mert azt ritkán módosítod és töltöd vissza.
    Mutasd a teljes hozzászólást!
  • Igen, először én is arra gondoltam, hogy webfejlesztésről van szó, de megakadt a szemem azon, hogy nagy mennyiségű adattal kell "dolgoznia". Te is tudod, hogy még egy teljesen komplett weboldal összes képpel és Flash-sel együtt is inkább csak a vicc kategória a mennyiség tekintetében. Nagy mennyiségű adatról warez-os körökben beszélnek. Ezért is írtam példaként, hogy ha a szerveren sok MP3 van, akkor azt akár onnan is hallgathatja, nem kell ehhez letöltenie. Vagyis a lokális fájlrendszerbe felcsatolható FTP nagyon is kiváltja a szinkronizációt (még warez esetén is). Power of Linux
    Mutasd a teljes hozzászólást!
  • Sziasztok!

    Nem warez miatt van szükségem erre, hanem egy webshopon folyamatos adatfeltöltés, és több szórakoztató oldal kép, videó és hangfájlai kerülnek fel naponta akár több 100 Mb-ban. A fent írt megoldás azért nem teljesen jó, mert nem élesben szoktam szerkeszteni az oldalt, hanem a gépen, és itt tesztelve, ha rendben működik, akkor kerül fel az ftp-re, illetve nemcsak feltöltés van, hanem pl a hét alatt feltöltött képek, videók, stb. letöltése is szükséges, tehát kétirányú, kell h legyen mindenképp.

    A dreamweawerét kipróbáltam, tetszett, az nagyon jó volt, hasonlót keresnék, csak lejárt a próbaidő, és szeretnék egyúttal windowsról linuxra váltani.

    Mindenesetre köszönöm szépen a részletes leírást, más weboldalnál még jól jöhet, le is mentettem.

    Üdv.: Spy
    Mutasd a teljes hozzászólást!
  • Értem, tehát a szinkronizáció fontos a számodra. Oké, semmi gond, a Linux ebben is verhetetlen.

    Van-e SSH-s hozzáférésed az FTP szerverhez? Ha van, akkor rakd fel a szerverre az rsync-et, vagy ha nincs, akkor szólj a rendszergizdának, hogy tegye fel neked. Aztán ugyanígy tedd fel a saját gépedre is. Így az rsync, ami pont hogy ilyen fájlszinkronizációra van kitalálva, automatikusan felismeri a két gép (szerver és tiéd) közötti különbségeket, és elvégzi a szinkronizációt.

    További információt a szinkronizálásról ezen linkeken olvashatsz magyarul:
    rsync használata
    http://www.lacyc3.eu/rsync
    http://manual.sidux.com/hu/sys-admin-rsync-hu.htm
    Vagy angolul a teljesen fullos manual a weben:
    rsync(1) manpage
    és a saját gépeden, miután felraktad az rsync-et:
    man rsync

    Illetve ha nincs kedved/időd szórakozni a gépeléssel, akkor Gnome-hoz (ez a default ablakkezelő Ubuntu alatt) van GUI is az rsync-hez. A neve nem meglepő módon grsync. Erről beszélek:
    Rsync GUI; grsync
    Telepítése:
    sudo apt-get install grsync
    Valamint hasznos kis tool a gtkrsync is, ami szintén ott van az Ubuntu tárolóiban.

    Power of Linux!

    Üdv:
    Donald Kacsa (PCForum.Hu)
    Banderasz (Prog.Hu)
    Mutasd a teljes hozzászólást!
  • Köszönöm szépen a részletes segítséget. Nagy guru lehetsz, ahogy így olvasom a hozzászólásaid :)

    A hét folyamán rákérdezek a szolgáltatómnál, van-e lehetőség SSH-ra, bár sztem nagy a valószínűsége hogy nem fogják engedni biztonsági okokra hivatkozva.

    De ki tudja, próba szerencse.

    Üdv.: Spy
    Mutasd a teljes hozzászólást!
  • Az sem olyan nagy gond, ha nem lehet SSH-n bejelentkezned, és így rsync-et nem telepíthetsz. Bár a telepítéshez úgyis rendszergazdai jogosultság fog kelleni, így utólag bele gondolva nem mész semmire azzal, ha van SSH-s hozzáférésed. Inkább azt kellene megtudakolnod a szolgáltatótól, hogy rsync-et telepítenének-e neked, hogy rendszeresen szinkronizálhass. Erre szerintem több esélyed lenne, mint az SSH-ra root jogot kapni.

    De:
    Mit szólsz ahhoz, hogy lehet, hogy nem is kell neked rsync a szerverre? Ugyanis ar rsync két helyi gépeden lévő könyvtár között is tud szinkronizálni. Ebből az egyik könyvtár legyen az, ahova szinkronizálni kell a szervert, a másik könyvtár meg az első hozzászólásomban leírt felcsatolt távoli FTP. Ugye itt jön ki a nagy előnye annak, hogy a fájlrendszeredbe fel tudod egy alkönyvtárba csatolni egy távoli FTP tartalmát, így ugyanis az rsync a két könyvtár között szinkronizálhat annélkül, hogy tudná, hogy az egyik könyvtár valójában egy távoli FTP tartalma mindenestől. Ugye milyen logikus? Mint minden, ami Linux. És a poén az egészben az, hogy így még az FTP közvetlen elérése is adott a számodra, nem csak szinkronizálva éred el, aminek még sokszor veheted hasznát.

    Power of Linux!

    Üdv:
    Donald Kacsa (PCForum.Hu)
    Banderasz (Prog.Hu)


    Szerk:
    "Nagy guru lehetsz, ahogy így olvasom a hozzászólásaid"

    Pedig hidd el, nem vagyok az, csak egy egyszerű Linux felhasználó vagyok. Ha guru lennék, komplett szkriptet írtam volna neked a megoldásra.
    Mutasd a teljes hozzászólást!
  • Ebből az egyik könyvtár legyen az, ahova szinkronizálni kell a szervert, a másik könyvtár meg az első hozzászólásomban leírt felcsatolt távoli FTP.


    Húú ez nagyon tetszetős megoldás!!! Mostmár kezdem érteni miért szeretik annyian eme nagyszerű rendszert. Hétvégén meg is próbálom, akkor lesz időm ezeket megnézni, de ha ez megy már megy is a levesbe a linux mellett lévő xp

    Apropó! Nemrégiben tanulmányoztam az MVC felépülését, s a Prog.hu-n az egyik hozzászólásban azt hiszem te írtad le a saját rendszereden keresztül a működését, nagyon tetszett a megoldás, engedd meg hogy gratuláljak! (remélem jól emlékszem hogy te voltál :))

    Üdv.:Spy
    Mutasd a teljes hozzászólást!
  • "Apropó! Nemrégiben tanulmányoztam az MVC felépülését, s a Prog.hu-n az egyik hozzászólásban azt hiszem te írtad le a saját rendszereden keresztül a működését, nagyon tetszett a megoldás, engedd meg hogy gratuláljak! (remélem jól emlékszem hogy te voltál :))"


    Hát ha erre gondoltál, akkor én voltam az:

    MVC-OOP-PHP kombó

    Örülök, hogy tetszett az megoldásom.
    Mutasd a teljes hozzászólást!
  • Igen ez volt, nagyon frankó :)
    Mutasd a teljes hozzászólást!
  • Hello!

    En vegigmentem az osszes beallitason, de nem igen mukodik.


    curlftpfs "ftp://YYY:ZZZ@XXX/" /mnt/WWW -o allow_other

    ha mas porton van az ftp akkor ez a beallitas?

    curlftpfs "ftp://YYY:ZZZ@XXX:299" /mnt/WWW -o allow_other

    udv:Gabor
    Mutasd a teljes hozzászólást!
Tetszett amit olvastál? Szeretnél a jövőben is értesülni a hasonló érdekességekről?
abcd