Ebben a cikkben néhány gyakorlati példával elmagyarázzuk, hogyan lehet fájlokat másolni az rsync segítségével. Megmagyarázzuk az rsync használatát egyetlen fájl, több fájl és könyvtár másolásakor mind a helyi, mind a távoli rendszerbe. Kitérünk az Rsync használatára:
- Másolja a fájlt / könyvtárat a helyi rendszerbe
- Másolja a fájlt / könyvtárat a helyi rendszerről a távoli rendszerre
- Másolja a fájlt / könyvtárat a távoli rendszerről a helyi fájlra
Az ebben a cikkben említett parancsokat és eljárásokat elmagyaráztuk egy Ubuntu 20-on.04 LTS. Szüksége lesz a parancssori terminálra a fájlok rsync használatával történő másolásához. A parancssori Terminal alkalmazás megnyitásához használja a Ctrl + Alt + T billentyűparancsot.
Az Rsync telepítése
Az Rsync előre telepítve van az Ubuntu 20-ba.04 LTS. Ha azonban véletlenül eltávolítják a rendszerből, akkor a következőképpen telepítheti:
$ sudo apt install rsyncAz alábbiakban felsorolunk néhány olyan gyakran használt opciót, amelyek az rsync alkalmazásával használhatók:
-a: archív mód
-v: a másolási folyamat részleteit mutatja
-p: az előrehaladási sávot mutatja
-r: rekurzív módon másolja az adatokat
-z: tömöríti az adatokat
-q: a kimenet elnyomása
Másolja a fájlokat és könyvtárakat helyileg
Az rsync általános szintaxisa:
$ rsync [opció] [forrás] [cél]Egyetlen fájl másolása helyben
Ha fájlt szeretne másolni a rendszer egyik helyéről a másikra, akkor gépeléssel megteheti rsync amelyet a forrásfájl neve és a célkönyvtár követ.
Például egyetlen fájl másolásához „file1.txt ”az aktuális helyről, amely a Home könyvtár, a ~ / Documents könyvtárba, a következő parancs lenne:
$ rsync / home / tin / file1.txt / home / tin / Dokumentumok
Megjegyzés: A „/ home / tin / file1 helyett.txt ”, beírhatjuk a„ file1 ”szót is, mivel jelenleg a saját könyvtárban dolgozunk. Ezenkívül használhatjuk a ~ / Documents szót, ahelyett, hogy a teljes elérési utat megemlítenénk: / / home / tin / Documents.
Több fájlt másoljon helyileg
Ha egyszerre több fájlt akar átmásolni a rendszer egyik helyéről a másikra, akkor gépeléssel megteheti rsync majd a forrásfájlok neve és a célkönyvtár.
Például a fájlok másolásához “file2.txt ”és„ file3.txt ”a Home könyvtárból a ~ / Documents könyvtárba, a következő parancs lesz:
$ rsync / home / tin / file2.txt / home / tin / file3.txt / home / tin / Dokumentumok
Az összes kiterjesztésű fájl másolásához csillag (*) szimbólumot használhat a fájlnevek egyedi megadása helyett. Például az összes fájl másolása a kezdőkönyvtárból a „.zip ”kiterjesztést a ~ / Documents könyvtárba, a következőket fogjuk használni:
$ rsync / home / tin / *.zip ~ / DokumentumokKönyvtárak másolása helyben
Ha egy könyvtárat az alkönyvtárával és az összes tartalommal át akarja másolni a rendszer egyik helyéről a másikra, megteheti úgy, hogy beírja rsync amelyet a forrás és a célkönyvtár követ.
Például, ha a „minta” könyvtárat át akarjuk másolni a „test /” könyvtárba a Home könyvtárban, akkor a következő parancs lesz:
$ rsync -av / home / tin / minta / home / tin / testMegjegyzés: A „/” jel megadása a forráskönyvtár után csak a könyvtár tartalmát másolja. Ha a forráskönyvtár után nem adjuk meg a „/” jelet, akkor a forráskönyvtár is átmásolásra kerül a célkönyvtárba.
A következő kimenethez hasonlóan láthatja, hogy a „minta” forráskönyvtárunk is átmásolásra kerül a célkönyvtárba (mivel forráskönyvtárként a „minta” helyett a „minta /” szót használtuk).
Az Rsync támogatja az inkrementális átvitelt, amint az a fenti kimeneten látható, hogy csak az új vagy frissített fájlokat továbbítja.
Fájlok másolása a maximális méret alapján
Másolás közben megadhatjuk a másolható fájlok maximális méretét is a „-max-size” opcióval. Például a 2000k-nál nem nagyobb fájlok másolásához a ~ / Letöltések és a ~ / Dokumentumok könyvtárba a következő parancs lenne:
$ rsync -a --max-size = 2000k / home / tin / Letöltések / * / home / tin / DocumentsEz a parancs az összes fájlt átmásolja a ~ / Downloads fájlból a ~ / Documents könyvtárba, kivéve azokat, amelyek nagyobbak, mint 2000k.
Fájlok másolása a minimális méret alapján
Hasonlóképpen megadhatjuk a fájlok minimális méretét is, amelyeket át lehet másolni a „-min-size” opcióval. Például, ha a fájlokat nem kevesebb, mint 5M-re másolja a ~ / Letöltések a ~ / Documents könyvtárba, a következő parancs lenne:
$ rsync -a --min-size = 5M / home / tin / Letöltések / / home / tin / DocumentsEz a parancs az összes fájlt átmásolja a ~ / Downloads fájlból a ~ / Documents könyvtárba, kivéve azokat, amelyek kisebbek, mint 5M.
Fájlok kizárása
Miközben fájlokat másol egyik könyvtárból a másikba, kizárhat néhány fájlt az „-exclude” opcióval, amelyet a fájlnév vagy a fájltípus kiterjesztése követ.
Például az összes .zip fájlokat, miközben fájlokat másol a ~ / Letöltések a ~ / Dokumentumok könyvtárba, a következő parancs lesz:
$ rsync -a --exclude = "*.zip "/ home / tin / Letöltések / / home / tin / DocumentsFájlok és könyvtárak másolása távolról
Az Rsync segítségével egyetlen fájlt, több fájlt és könyvtárat másolhat egy távoli rendszerbe. A fájlok és könyvtárak távoli másolásához a következőkre lesz szükség:
- Az Rsync telepítve van mind a helyi, mind a távoli rendszerre
- SSH hozzáférés a távoli rendszerhez
- Távoli felhasználói jelszó
Mielőtt fájlokat másolna az rsync használatával, győződjön meg arról, hogy SSH-n keresztül hozzáférhet a távoli rendszerhez:
$ ssh remote_user @ remote_ip
A fájlok és könyvtárak távoli rendszerre másolásának általános szintaxisa az rsync használatával:
Például egyetlen fájl „fájl” másolásához.txt ”a ~ / Letöltések a távoli rendszerbe ~ / Documents könyvtárba, a következő parancs lenne:
$ rsync -v ~ / Letöltések / fájl1.txt umara @ 192.168.72.164: ~ / Dokumentumok
Hasonlóképpen, a „~ / Letöltések / fájlok” könyvtár másolása egy helyi rendszerbe annak alkönyvtárával és minden tartalmával a távoli rendszer „~ / Letöltések / minták” könyvtárába:
$ rsync -rv ~ / Letöltések / fájlok umara @ 192.168.72.164: ~ / Letöltések / minták
Másolhatja a fájlokat és könyvtárakat a távoli gépről a helyi gépre is. Például egy „file2.txt ”a távoli rendszerről a helyi rendszer asztalára:
$ rsync -v umara @ 192.168.72.164: ~ / Letöltések / fájl2.txt ~ / Asztal /
Hasonlóképpen másoljon egy könyvtárat a távoli rendszerről a helyi rendszerre
$ rsync -rv umara @ 192.168.72.164: ~ / Letöltések / minta ~ / Asztal / tesztHasználhatja az összes beállítást, például a -max-size, -min-size, -exclude és más lehetőségeket, miközben fájlokat másol a távoli rendszerről / a távoli rendszerről.
Az Rsync nagyszerű eszköz fájlok másolásához forrástól célig, lokálisan vagy távolról. Számos olyan opciót tartalmaz, amely rugalmasságot és irányítást biztosít Önnek, miközben fájlokat továbbít a távoli rendszerbe / onnan.