10 Contoh Praktikal Perintah RSYNC di Linux

10 Contoh Praktikal Perintah RSYNC di Linux

Rsync (Penyegerakan jauh) adalah arahan yang paling biasa digunakan untuk menyalin dan menyegerakkan fail dan direktori dari jauh dan juga Secara tempatan dalam Linux/Unix sistem.

Dengan bantuan rsync Perintah, anda boleh menyalin dan menyegerakkan data anda dari jauh dan secara tempatan merentasi direktori, cakera, dan rangkaian, melakukan sandaran data, dan cermin antara dua mesin Linux.

RSYNC Penyegerakan fail tempatan dan jarak jauh

Artikel ini menerangkan 10 penggunaan asas dan lanjutan dari rsync perintah untuk memindahkan fail anda dari jauh dan tempatan Berasaskan Linux Mesin. Anda tidak perlu menjadi akar pengguna untuk menjalankan rsync perintah.

Beberapa kelebihan dan ciri perintah rsync

  • Ia menyalin dan menyegerakkan fail dengan cekap ke atau dari sistem terpencil.
  • Menyokong penyalinan pautan, peranti, pemilik, kumpulan, dan kebenaran.
  • Ia lebih cepat daripada SCP (Salinan selamat) kerana rsync Menggunakan protokol Remote-Update yang membolehkan memindahkan hanya perbezaan antara dua set fail. Kali pertama, ia menyalin keseluruhan kandungan fail atau direktori dari sumber ke destinasi tetapi dari masa depan, ia hanya menyalin blok dan bait yang berubah ke destinasi.
  • RSYNC menggunakan penggunaan jalur lebar yang kurang kerana menggunakan kaedah pemampatan dan penyahmampatan semasa menghantar dan menerima data pada kedua -dua hujungnya.
Sintaks asas perintah rsync
# destinasi sumber pilihan rsync
Beberapa pilihan biasa yang digunakan dengan arahan rsync
  • -v : verbose
  • -r : salinan data secara rekursif (tetapi jangan mengekalkan cap waktu dan kebenaran semasa memindahkan data.
  • -a : Mod Arkib, yang membolehkan menyalin fail secara rekursif dan ia juga mengekalkan pautan simbolik, keizinan fail, pemilikan pengguna & kumpulan, dan cap waktu.
  • -z : memampatkan data fail.
  • -h : Nombor output yang boleh dibaca manusia dalam format yang boleh dibaca manusia.

[Anda mungkin juga suka: Cara Menyegerakkan Fail/Direktori Menggunakan RSYNC dengan Pelabuhan SSH bukan standard]

Pasang rsync dalam sistem linux

Kita boleh memasang rsync pakej dengan bantuan arahan berikut dalam taburan Linux anda.

$ sudo apt-get Install rsync [on debian/ubuntu & mint] $ pacman -s rsync [on arch linux] $ emerge sys-apps/rsync [on gentoo] $ sudo yum install rsync [on fedora/centos/rhel dan berbatu Linux/almalinux] $ sudo zypper install rsync [on OpenSuse] 

1. Salin/penyegerakan fail dan direktori secara tempatan

Salin/Segerakkan fail di komputer tempatan

Perintah berikut akan menyegerakkan satu fail pada mesin tempatan dari satu lokasi ke lokasi lain. Di sini dalam contoh ini, nama fail sandaran.tar perlu disalin atau diselaraskan /tmp/sandaran/ folder.

[[dilindungi e -mel]]# rsync -zvh sandaran.tar.GZ/TMP/BACKUPS/Direktori/TMP/Backup Backup.tar.GZ dihantar 224.54k bait diterima 70 bait 449.Saiz Jumlah Bytes/Sec 21k ialah 224.Kelajuan 40k adalah 1.00 

Dalam contoh di atas, anda dapat melihat bahawa jika destinasi belum wujud rsync akan membuat direktori secara automatik untuk tujuan.

RSYNC Fail Local
Salin/Segerakkan direktori di komputer tempatan

Perintah berikut akan memindahkan atau menyegerakkan semua fail dari satu direktori ke direktori yang berbeza dalam mesin yang sama. Di sini dalam contoh ini, /root/rpmpkgs Mengandungi beberapa fail pakej rpm dan anda mahu direktori itu disalin ke dalam /tmp/sandaran/ folder.

[[dilindungi e -mel]]# rsync -avzh/root/rpmpkgs/tmp/sandaran/menghantar senarai fail tambahan rpmpkgs/rpmpkgs/httpd -2.4.37-40.module_el8.5.0+852+0AAFC63B.x86_64.RPM RPMPKGS/MOD_SSL-2.4.37-40.module_el8.5.0+852+0AAFC63B.x86_64.RPM RPMPKGS/NAGIOS-4.4.6-4.EL8.x86_64.RPM RPMPKGS/NAGIOS-PLUGINS-2.3.3-5.EL8.x86_64.RPM dihantar 3.47m bait diterima 96 bait 2.Saiz total bait 32m/sec ialah 3.Speedup 74m adalah 1.08 
Direktori Tempatan RSYNC

2. Salin/penyegerakan fail dan direktori ke atau dari pelayan

Salin direktori dari pelayan tempatan ke pelayan jauh

Perintah ini akan menyegerakkan direktori dari mesin tempatan ke mesin terpencil. Sebagai contoh, Terdapat folder di komputer tempatan anda "rpmpkgs"Itu mengandungi beberapa Rpm pakej dan anda mahukan kandungan direktori tempatan dihantar ke pelayan jauh, anda boleh menggunakan arahan berikut.

[[E -mel dilindungi]: ~]# rsync -avzh/root/rpmpkgs [dilindungi e -mel]:/root/kesahihan tuan rumah '192.168.0.141 (192.168.0.141) 'tidak dapat ditubuhkan. ED25519 Cap jari utama ialah SHA256: BH2TIWQN4S5O6QMZHMTXCBRROV5TU5H4T2C42QDEMX1C. Kunci ini tidak diketahui oleh mana -mana nama lain Adakah anda pasti ingin terus menyambung (ya/tidak/[cap jari])? Ya Amaran: Tambah secara kekal '192.168.0.141 '(ed25519) ke senarai tuan rumah yang diketahui. [E-mel dilindungi] Kata laluan: Menghantar senarai fail tambahan RPMPKGS/ RPMPKGS/ HTTPD-2.4.37-40.module_el8.5.0+852+0AAFC63B.x86_64.RPM RPMPKGS/MOD_SSL-2.4.37-40.module_el8.5.0+852+0AAFC63B.x86_64.RPM RPMPKGS/NAGIOS-4.4.6-4.EL8.x86_64.RPM RPMPKGS/NAGIOS-PLUGINS-2.3.3-5.EL8.x86_64.RPM dihantar 3.74m bait diterima 96 bait 439.Saiz jumlah bait 88k/sec ialah 3.Speedup 74m adalah 1.00 
Sistem Jauh Direktori RSYNC
Salin/Segerakkan direktori jauh ke mesin tempatan

Perintah ini akan membantu anda menyegerakkan direktori jauh ke direktori tempatan. Di sini dalam contoh ini, direktori /root/rpmpkgs yang berada di pelayan jauh disalin di komputer tempatan anda di /tmp/myrpms.

[[E -mel dilindungi]: ~]# rsync -avzh [dilindungi e -mel]:/root/rpmpkgs/tmp/myrpms [dilindungi e -mel].4.37-40.module_el8.5.0+852+0AAFC63B.x86_64.RPM RPMPKGS/MOD_SSL-2.4.37-40.module_el8.5.0+852+0AAFC63B.x86_64.RPM RPMPKGS/NAGIOS-4.4.6-4.EL8.x86_64.RPM RPMPKGS/NAGIOS-PLUGINS-2.3.3-5.EL8.x86_64.RPM dihantar 104 bait yang diterima 3.49m bait 997.Saiz total bait 68k/sec ialah 3.Speedup 74m adalah 1.07 
Direktori Jauh RSYNC ke Tempatan

3. RSYNC over SSH

Dengan rsync, kita boleh guna SSH (Shell selamat) untuk pemindahan data, menggunakan SSH Protokol Semasa memindahkan data kami, anda dapat memastikan bahawa data anda dipindahkan dalam sambungan yang dijamin dengan penyulitan supaya tiada siapa yang dapat membaca data anda semasa ia dipindahkan melalui wayar di Internet.

[Anda mungkin juga suka: Cara Mengamankan dan Mengasaskan Pelayan OpenSSH]

Juga semasa kita menggunakan rsync kita perlu menyediakan pengguna/akar kata laluan untuk mencapai tugas tertentu, jadi menggunakan SSH pilihan akan menghantar log masuk anda dengan cara yang disulitkan supaya anda kata laluan akan selamat.

Salin fail dari pelayan jauh ke pelayan tempatan dengan SSH

Untuk menentukan protokol dengan rsync anda perlu memberikan "-e"Pilihan dengan nama protokol yang anda mahu gunakan. Di sini dalam contoh ini, kami akan menggunakan "SSH" dengan "-e"Pilihan dan lakukan pemindahan data.

[[dilindungi e -mel]: ~]# rsync -avzhe ssh [dilindungi e -mel]:/root/anaconda -ks.Kata Laluan CFG /TMP [E-mel dilindungi]: Menerima senarai fail tambahan Anaconda-Ks.CFG dihantar 43 bait yang diterima 1.10k bytes 325.Saiz Jumlah Bytes/Sec ialah 1.Speedup 90k adalah 1.67 
RSYNC Salin fail jauh ke tempatan
Salin fail dari pelayan tempatan ke pelayan jauh dengan SSH
[[dilindungi e -mel]: ~]# rsync -avzhe ssh sandaran.tar.GZ [E -mel dilindungi]:/Backups/[E -mel dilindungi] Kata Laluan: Menghantar senarai fail tambahan yang dibuat direktori/sandaran sandaran.tar.GZ dihantar 224.59k bait diterima 66 bait 64.Saiz Jumlah Bytes/Sec 19K ialah 224.Kelajuan 40k adalah 1.00 
Rsync salin fail tempatan ke jauh

[Anda mungkin juga suka: Cara menggunakan RSYNC untuk menyegerakkan fail baru atau diubah/diubah suai di Linux]

4. Tunjukkan kemajuan semasa memindahkan data dengan rsync

Untuk menunjukkan kemajuan semasa memindahkan data dari satu mesin ke mesin yang berbeza, kita boleh menggunakan '-kemajuan ' pilihan. Ia memaparkan fail dan masa yang tinggal untuk menyelesaikan pemindahan.

[[E -mel dilindungi]:/]# rsync -avzhe ssh --progress/root/rpmpkgs [dilindungi e -mel]:/root/rpmpkgs [dilindungi e -mel].4.37-40.module_el8.5.0+852+0AAFC63B.x86_64.RPM 1.47m 100% 31.80MB/s 0:00:00 (XFR#1, TO-CHK = 3/5) RPMPKGS/MOD_SSL-2.4.37-40.module_el8.5.0+852+0AAFC63B.x86_64.RPM 138.01k 100% 2.69MB/s 0:00:00 (XFR#2, TO-CHK = 2/5) RPMPKGS/NAGIOS-4.4.6-4.EL8.x86_64.RPM 2.01m 100% 18.45MB/s 0:00:00 (XFR#3, TO-CHK = 1/5) RPMPKGS/NAGIOS-PLUGINS-2.3.3-5.EL8.x86_64.RPM 120.48k 100% 1.04MB/s 0:00:00 (XFR#4, TO-CHK = 0/5) Dihantar 3.74m bait menerima 96 bait 1.Saiz total bait 50m/sec ialah 3.Speedup 74m adalah 1.00 
Kemajuan rsync semasa menyalin fail

5. Penggunaan pilihan -termasuk pilihan

Kedua -dua pilihan ini membolehkan kita termasuk dan tidak termasuk fail dengan menentukan parameter dengan pilihan ini membantu kami menentukan fail atau direktori yang anda ingin sertakan dalam penyegerakan anda dan tidak termasuk fail dan folder dengan anda tidak mahu dipindahkan.

Di sini dalam contoh ini, arahan rsync akan memasukkan fail dan direktori sahaja yang bermula dengan 'R'dan tidak termasuk semua fail dan direktori lain.

[[dilindungi e -mel]:/]# rsync -avze ssh -include 'r*' --exclude '*' [dilindungi e -mel]:/var/lib/rpm//root/rpm [dilindungi e -mel] Kata laluan: menerima senarai fail tambahan yang dibuat direktori /root /rpm ./ Memerlukan nama Dihantar 61 bait diterima 273,074 bait 60,696.67 saiz total bytes/sec ialah 761,856 speedup adalah 2.79 
RSYNC termasuk dan tidak termasuk fail

6. Penggunaan pilihan -delete

Sekiranya fail atau direktori tidak wujud di sumber, tetapi sudah ada di destinasi, anda mungkin mahu memadamkan fail/direktori yang ada pada sasaran semasa menyegerakkan.

Kita boleh menggunakan '-Padam'Pilihan untuk memadam fail yang tidak ada di direktori sumber.

Sumber dan sasaran disegerakkan. Sekarang buat fail baru ujian.txt pada sasaran.

[[dilindungi e -mel]: ~]# cd/root/rpm/[[dilindungi e -mel]: ~/rpm]# ujian sentuh.txt [[dilindungi e -mel]: ~/rpm]# rsync -avz --delete [e -mel dilindungi]:/var/lib/rpm//root/rpm/[dilindungi e -mel].txt ./ .dbenv.kunci .rpm.kunci basenames konflik nama dirname enhancename filetriggername kumpulan pemasangan nama ocsoletename bungkusan providename sha1header sigmd5 propementname supplementname transfiletriggername triggername __db __db __db __db.001 __db.002 __db.003 dihantar 445 bait menerima 18,543,954 bait 2,472,586.53 saiz bytes/sec total adalah 71,151,616 speedup adalah 3.84 

Sasaran mempunyai fail baru yang dipanggil ujian.txt, Semasa menyegerakkan dengan sumber dengan '-Padam'Pilihan, ia mengeluarkan fail ujian.txt.

Pilihan Padam RSYNC

7. Tetapkan saiz maksimum fail yang akan dipindahkan

Anda boleh menentukan Maks saiz fail yang akan dipindahkan atau disegerakkan. Anda boleh melakukannya dengan "-saiz maksimum"Pilihan. Di sini dalam contoh ini, saiz fail maksimum adalah 200k, jadi arahan ini hanya akan memindahkan fail -fail yang sama dengan atau lebih kecil daripada 200k.

[[dilindungi e -mel]: ~]# rsync -avzhe ssh - -max -size = '200k'/var/lib/rpm/[dilindungi e -mel]:/root/tmprpm [dilindungi e -mel] Kata laluan: Menghantar senarai fail tambahan direktori /root /tmprpm yang dibuat ./ .dbenv.kunci .rpm.Kunci konflikName Enhancename FileTriggerName Group Installtid Nama Obsoletename Cadangan Nama NeedName Sha1header Sigmd5 Cadangan Nama SupplementName TransfileTriggerName TriggerName __db.002 dihantar 129.52k bait menerima 396 bait 28.87K saiz total bytes/sec ialah 71.Speedup 15m ialah 547.66 
Saiz pemindahan fail rsync set max

8. Memadam fail sumber secara automatik selepas pemindahan yang berjaya

Sekarang, katakan anda mempunyai pelayan web utama dan pelayan sandaran data, anda membuat sandaran harian dan menyegerakkannya dengan pelayan sandaran anda, sekarang anda tidak mahu menyimpan salinan sandaran tempatan di pelayan web anda.

Oleh itu, adakah anda akan menunggu pemindahan selesai dan kemudian memadam fail sandaran tempatan secara manual? Sudah tentu tidak. Penghapusan automatik ini boleh dilakukan dengan menggunakan '-Keluarkan-sumber-fail'Pilihan.

[[dilindungi e-mel]: ~]# rsync-remove-source-files -zvh sandaran.tar.GZ [dilindungi e -mel]:/TMP/BACKUPS/[E -mel dilindungi] Kata Laluan: BACKUP.tar.GZ dihantar 795 bait diterima 2.33K Bytes 894.29 bait/saiz keseluruhan ialah 267.Kelajuan 30k adalah 85.40 [[dilindungi e -mel]: ~]# ls -l sandaran.tar.Gz LS: Tidak dapat mengakses 'sandaran.tar.gz ': tiada fail atau direktori sedemikian 
RSYNC memadam fail sumber selepas pemindahan

9. Lakukan larian kering dengan rsync

Sekiranya anda seorang pemula menggunakan rsync dan tidak tahu apa sebenarnya arahan anda akan lakukan. Rsync benar -benar boleh merosakkan perkara di folder destinasi anda dan kemudian melakukan pembatalan boleh menjadi pekerjaan yang membosankan.

[Anda mungkin juga suka: Cara Menyegerakkan Dua Pelayan Web Apache/Laman Web Menggunakan RSYNC]

Penggunaan pilihan ini tidak akan membuat sebarang perubahan pada fail dan menunjukkan output arahan, jika output menunjukkan sama persis yang anda mahu lakukan maka anda boleh mengeluarkan '-Kering-run'Pilihan dari arahan anda dan lari di terminal.

[[dilindungi e -mel]: ~]# rsync --Kering-run --Keluarkan-sumber-Files -ZVH Backup.tar.GZ [dilindungi e -mel]:/TMP/BACKUPS/[E -mel dilindungi] Kata Laluan: BACKUP.tar.GZ dihantar 50 bait yang diterima 19 bait 19.71 saiz total bytes/sec ialah 267.Speedup 30k ialah 3,873.97 (Kering kering) 
RSYNC Dry Run

10. RSYNC SET BIDWIDTH HAD

Anda boleh menetapkan had jalur lebar semasa memindahkan data dari satu mesin ke mesin lain dengan bantuan '-BWLIMIT'Pilihan. Pilihan ini membantu kita mengehadkan I/O jalur lebar.

[[dilindungi e -mel]]# rsync - -bwlimit = 100 -avzhe ssh/var/lib/rpm/[dilindungi e -mel]:/root/tmprpm/[dilindungi e -mel] Bytes 61.09 Bytes/Sec Total Saiz ialah 38.08m Speedup ialah 113347.05

Juga, secara lalai rsync syncs menukar blok dan bait sahaja, jika anda ingin secara eksplisit ingin menyegerakkan keseluruhan fail maka anda menggunakan '-W'Pilihan dengannya.

[[dilindungi e -mel]]# rsync -zvhw sandaran.tar/tmp/sandaran/sandaran.sandaran tar.tar dihantar 14.71m bait menerima 31 bait 3.Saiz Jumlah Bytes/Sec 27m ialah 16.Speedup 18m adalah 1.10

Itu semua dengan RSYNC sekarang, anda dapat melihat halaman lelaki Untuk lebih banyak pilihan. Tetap berhubung dengan Tecmint untuk tutorial yang lebih menarik dan menarik pada masa akan datang. Tinggalkan anda Komen dan cadangan.