Az rsync használata fájlok másolásához

How Use Rsync Copy Files



Az Rsync egy parancssori eszköz a Linuxban, amely fájlok másolására szolgál a forráshelyről a célhelyre. Másolhat fájlokat, könyvtárakat és a teljes fájlrendszert, és szinkronizálhatja a fájlokat a különböző könyvtárak között. Ez több, mint a fájlok másolása. Csökkenti a hálózaton keresztül küldött adatok mennyiségét azáltal, hogy csak új vagy frissített fájlokat küld. Ezért tekinthető nagyszerű segédprogramnak fájlmásoláshoz és biztonsági mentéshez. Az Rsync támogatja a fájlok távoli rendszerbe történő másolását is SSH -n keresztül.

Ebben a cikkben néhány gyakorlati példával elmagyarázzuk, hogyan lehet fájlokat másolni az rsync segítségével. Ismertetjük az rsync használatát egyetlen fájl, több fájl és könyvtár másolásában mind a helyi, mind a távoli rendszerekre. Kitérünk az Rsync használatára:







  • Fájl/könyvtár másolása a helyi rendszeren belül
  • Fájl/könyvtár másolása a helyi rendszerből a távoli rendszerbe
  • Fájl/könyvtár másolása a távoli rendszerből a helyi rendszerbe

Elmagyaráztuk az ebben a cikkben említett parancsokat és eljárásokat egy Ubuntu 20.04 LTS -en. 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.04 LTS-be. Ha azonban véletlenül eltávolítja a rendszerből, a következőképpen telepítheti:



$sudotalálótelepítésrsync

Íme néhány általánosan használt opció, amelyek használhatók az rsync programmal:





–A: archiválási mód
–V: a másolási folyamat részleteit mutatja
–P: a folyamatjelző sávot mutatja
–R: rekurzív módon másolja az adatokat
–Z: tömöríti az adatokat
–Q: a kimenet leállítása

Fájlok és könyvtárak helyi másolása

Az rsync általános szintaxisa a következő:



$rsync[választási lehetőség] [forrás] [rendeltetési hely]

Egyetlen fájl másolása helyben

Ha egy fájlt másolni szeretne a rendszer egyik helyéről a másikra, akkor ezt gépeléssel teheti meg rsync majd a forrásfájl neve és a célkönyvtár.

Például, ha egyetlen file1.txt fájlt szeretne átmásolni az aktuális helyről, amely a Home könyvtár, a ~/Documents könyvtárba, a parancs a következő lenne:

$rsync/itthon/hinni/file1.txt/itthon/hinni/Dokumentumok

Megjegyzés: A /home/tin/file1.txt helyett a file1 -et is beírhatjuk, mivel jelenleg a saját könyvtárban dolgozunk. Ezenkívül használhatjuk a ~/Documents parancsot ahelyett, hogy a teljes elérési utat/home/tin/Documents néven említenénk.

Több fájl másolása helyben

Ha egyszerre több fájlt szeretne másolni a rendszer egyik helyéről a másikra, akkor ezt gépeléssel teheti meg rsync majd a forrásfájlok neve és a célkönyvtár.

Például a

$rsync/itthon/hinni/file2.txt/itthon/hinni/file3.txt/itthon/hinni/Dokumentumok

Az összes azonos kiterjesztésű fájl másolásához használhatja a csillag (*) szimbólumot a fájlnevek egyéni megadása helyett. Például, ha a .zip kiterjesztéssel végződő Home könyvtárból az összes fájlt át akarja másolni a ~/Documents könyvtárba, akkor a következőket használjuk:

$rsync/itthon/hinni/ *.zip ~/Dokumentumok

Másolja a könyvtárakat helyben

Ha egy könyvtárat az alkönyvtárával és minden tartalmával másolni szeretne a rendszer egyik helyéről a másikra, akkor ezt úgy teheti meg, hogy beírja rsync majd a forrás és a célkönyvtár.

Például, ha a mintakönyvtárat a Home könyvtáron belüli teszt/ könyvtárba szeretné másolni, a parancs a következő lenne:

$rsync-nak,-nek /itthon/hinni/minta/itthon/hinni/teszt

Megjegyzés: A forráskönyvtár megadása / után csak a könyvtár tartalmát másolja. Ha nem adjuk meg a /-et a forráskönyvtár után, akkor a forráskönyvtár is átmásolódik a célkönyvtárba.

A következő kimenethez hasonlóan láthatja, hogy a forráscímtár -mintánkat is átmásoljuk a célkönyvtárba (mivel a minta helyett a mintát/ forráskönyvtárként használtuk).

Az Rsync támogatja a növekményes átvitelt, amint 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 –max-size opcióval másolható fájlok maximális méretét is. Például a 2000k -nál nem nagyobb fájlok másolásához a ~/Letöltések mappából a ~/Dokumentumok könyvtárba a parancs a következő lenne:

$rsync-nak nek --max méretű= 2000k/itthon/hinni/Letöltések/ * /itthon/hinni/Dokumentumok

Ez a parancs az összes fájlt átmásolja a ~/Letöltések mappából a ~/Dokumentumok könyvtárba, kivéve a 2000k -nál nagyobb fájlokat.

Fájlok másolása a minimális méret alapján

Hasonlóképpen megadhatjuk a –min-size opcióval másolható fájlok minimális méretét is. Például, ha a ~/Letöltések mappából a ~/Dokumentumok könyvtárba szeretné másolni a nem kevesebb, mint 5 millió fájlt, a parancs a következő lesz:

$rsync-nak nek -min méretű= 5 millió/itthon/hinni/Letöltések/ /itthon/hinni/Dokumentumok

Ez a parancs az összes fájlt átmásolja a ~/Letöltések mappából a ~/Dokumentumok könyvtárba, kivéve az 5 milliónál kisebb fájlokat.

Fájlok kizárása

Fájlok egyik könyvtárból a másikba másolásakor egyes fájlokat kizárhat a —kizárás opcióval, majd a fájlnévvel vagy a fájltípus kiterjesztésével.

Például az összes .zip fájl kizárásához, miközben fájlokat másol a ~/Letöltések mappából a ~/Dokumentumok könyvtárba, a parancs a következő lenne:

$rsync-nak nek -kizárni='*.postai irányítószám' /itthon/hinni/Letöltések/ /itthon/hinni/Dokumentumok

Fá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ége:

  • 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 tudja elérni a távoli rendszert:

$sshremote_user@távoli_ip


A fájlok és könyvtárak távoli rendszerbe történő másolásának általános szintaxisa az rsync használatával:

$rsync[választási lehetőség] [forrás] [távfelhasználó@távoli: célállomás]

Például egyetlen fájl.txt fájl másolásához a ~/Letöltések a távoli rendszer ~/Dokumentumok könyvtárba a parancs a következő lenne:

$rsync-v~/Letöltések/file1.txt umara@192.168.72.164:~/Dokumentumok

Hasonlóképpen a ~/Letöltések/fájlok könyvtárának másolása egy helyi rendszerben 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 umra@192.168.72.164:~/Letöltések/mintákat

Másolhatja a fájlokat és a könyvtárakat a távoli számítógépről a helyi gépre. Például egy fájl2.txt fájl másolásához a távoli rendszerről a helyi rendszer asztalára:

$rsync-vumara@192.168.72.164:~/Letöltések/fájl2.txt ~/Asztal/

Hasonlóképpen egy könyvtár másolása a távoli rendszerből a helyi rendszerbe

$rsync-rvumara@192.168.72.164:~/Letöltések/minta ~/Asztal/teszt

A fájlok távoli rendszerre/onnan történő másolása közben is használhatja az összes lehetőséget, például –max-size, –min-size, –exclude és egyebeket.

Az Rsync nagyszerű eszköz fájlok másolására a forrásból a célállomásba, akár helyben, akár távolról. Számos opciót tartalmaz, amelyek rugalmasságot és irányítást biztosítanak a fájlok távoli rendszerre történő átvitele közben.