10 Contoh Praktis Perintah Rsync di Linux

10 Contoh Praktis Perintah Rsync di Linux

Rsync (Sinkronisasi Jarak Jauh) adalah perintah yang paling umum digunakan untuk menyalin dan menyinkronkan file dan direktori dari jarak jauh serta secara lokal di dalam Linux/UNIX sistem.

Dengan bantuan rsync Perintah, Anda dapat menyalin dan menyinkronkan data Anda dari jarak jauh dan lokal di seluruh direktori, disk, dan jaringan, melakukan cadangan data, dan cermin antara dua mesin Linux.

RSYNC Sinkronisasi File Lokal dan Jarak Jauh

Artikel ini menjelaskan 10 penggunaan dasar dan lanjutan dari rsync Perintah untuk mentransfer file Anda dari jarak jauh dan lokal Berbasis linux mesin. Anda tidak perlu menjadi akar pengguna untuk menjalankan rsync memerintah.

Beberapa keuntungan dan fitur perintah rsync

  • Itu secara efisien menyalin dan menyinkronkan file ke atau dari sistem jarak jauh.
  • Mendukung menyalin tautan, perangkat, pemilik, kelompok, dan izin.
  • Ini lebih cepat dari SCP (Salinan aman) Karena rsync Menggunakan protokol pembaruan jarak jauh yang memungkinkan mentransfer hanya perbedaan antara dua set file. Pertama kali, menyalin seluruh konten file atau direktori dari sumber ke tujuan tetapi dari waktu berikutnya, itu hanya menyalin blok dan byte yang diubah ke tujuan.
  • RSYNC mengkonsumsi lebih sedikit pemanfaatan bandwidth karena menggunakan metode kompresi dan dekompresi saat mengirim dan menerima data di kedua ujungnya.
Sintaks dasar dari perintah rsync
# RSYNC Opsi Sumber Tujuan
Beberapa opsi umum digunakan dengan perintah rsync
  • -v : verbose
  • -R : Menyalin data secara rekursif (tetapi jangan simpan cap waktu dan izin saat mentransfer data.
  • -A : mode arsip, yang memungkinkan menyalin file secara rekursif dan juga menjaga tautan simbolik, izin file, kepemilikan pengguna & grup, dan cap waktu.
  • -z : Data file kompres.
  • -H : Angka output yang dapat dibaca manusia dalam format yang dapat dibaca manusia.

[Anda mungkin juga suka: cara menyinkronkan file/direktori menggunakan RSYNC dengan port SSH non-standar]

Instal rsync di sistem linux

Kami dapat menginstal rsync Paket dengan bantuan perintah berikut dalam distribusi Linux Anda.

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

1. Salin/Sinkronisasi File dan Direktori Secara Lokal

Salin/Sinkronkan File di Komputer Lokal

Perintah berikut akan menyinkronkan satu file pada mesin lokal dari satu lokasi ke lokasi lain. Di sini dalam contoh ini, nama file cadangan.ter perlu disalin atau disinkronkan /tmp/cadangan/ map.

[[email dilindungi]]# cadangan rsync -zvh.ter.GZ/TMP/Backups/Direktori yang Dibuat/TMP/Cadangan Cadangan.ter.GZ mengirim 224.54k byte menerima 70 byte 449.21k bytes/detik ukuran total adalah 224.40K Speedup adalah 1.00 

Dalam contoh di atas, Anda dapat melihat bahwa jika tujuan belum ada RSYNC akan membuat direktori secara otomatis untuk tujuan tersebut.

File lokal rsync
Salin/Sinkronkan Direktori di Komputer Lokal

Perintah berikut akan mentransfer atau menyinkronkan semua file dari satu direktori ke direktori yang berbeda di mesin yang sama. Di sini dalam contoh ini, /root/rpmpkgs Berisi beberapa file paket RPM dan Anda ingin direktori itu disalin di dalam /tmp/cadangan/ map.

[[email dilindungi]]# rsync -avzh/root/rpmpkgs/tmp/cadangan/mengirim daftar file 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 dikirim 3.47m byte menerima 96 byte 2.32m byte/detik ukuran total adalah 3.Speedup 74m adalah 1.08 
Direktori Lokal Rsync

2. Salin/Sinkronisasi File dan Direktori ke atau dari server

Salin direktori dari server lokal ke server jarak jauh

Perintah ini akan menyinkronkan direktori dari mesin lokal ke mesin jarak jauh. Misalnya, Ada folder di komputer lokal Anda "RPMPKGS"Itu berisi beberapa RPM paket dan Anda ingin konten direktori lokal dikirim ke server jarak jauh, Anda dapat menggunakan perintah berikut.

[[email dilindungi]: ~]# rsync -avzh/root/rpmpkgs [email dilindungi]:/root/keaslian host '192.168.0.141 (192.168.0.141) 'tidak bisa didirikan. ED25519 Kunci sidik jari adalah SHA256: BH2TIWQN4S5O6QMZHMTXCBROV5TU5H4T2C42QDEMX1C. Kunci ini tidak diketahui dengan nama lain apakah Anda yakin ingin terus menghubungkan (ya/tidak/[sidik jari])? Ya Peringatan: ditambahkan secara permanen '192.168.0.141 '(Ed25519) ke daftar host yang dikenal. Kata Sandi [Email Dilindungi]: Mengirim Daftar File 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 dikirim 3.74m byte menerima 96 byte 439.88K byte/detik ukuran total adalah 3.Speedup 74m adalah 1.00 
Sistem jarak jauh direktori rsync
Salin/Sinkronkan Direktori Jarak Jauh ke Mesin Lokal

Perintah ini akan membantu Anda menyinkronkan direktori jarak jauh ke direktori lokal. Di sini dalam contoh ini, direktori /root/rpmpkgs yang ada di server jarak jauh sedang disalin di komputer lokal Anda di /tmp/myrpms.

[[Email Dilindungi]: ~]# rsync -avzh [email dilindungi]:/root/rpmpkgs/tmp/myrpms [email dilindungi] Kata sandi: Menerima Daftar File tambahan yang dibuat/TMP/MYRPMS 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 dikirim 104 byte menerima 3.49m byte 997.68K byte/detik ukuran total adalah 3.Speedup 74m adalah 1.07 
Direktori Remote Rsync ke Lokal

3. Rsync over ssh

Dengan rsync, kita bisa gunakan Ssh (Shell aman) Untuk transfer data, gunakan Ssh Protokol Saat mentransfer data kami, Anda dapat dipastikan bahwa data Anda ditransfer dalam koneksi yang diamankan dengan enkripsi sehingga tidak ada yang dapat membaca data Anda saat sedang ditransfer melalui kawat di internet.

[Anda mungkin juga suka: cara mengamankan dan mengeras server openssh]

Juga saat kami menggunakan rsync kita perlu menyediakan pengguna/akar kata sandi untuk menyelesaikan tugas tertentu, jadi menggunakan Ssh Opsi akan mengirimkan login Anda dengan cara terenkripsi sehingga Anda kata sandi akan aman.

Salin file dari server jarak jauh ke server lokal dengan SSH

Untuk menentukan protokol dengan rsync Anda perlu memberikan “-eOpsi dengan nama protokol yang ingin Anda gunakan. Di sini dalam contoh ini, kami akan menggunakan “ssh" dengan "-e"Opsi dan Lakukan Transfer Data.

[[email dilindungi]: ~]# rsync -avzhe ssh [email dilindungi]:/root/anaconda -ks.Kata Sandi CFG /TMP [Email Dilindungi]: Menerima Daftar File tambahan Anaconda-KK.CFG dikirim 43 byte menerima 1.10k byte 325.Ukuran total 43 byte/detik adalah 1.90K Speedup adalah 1.67 
Rsync menyalin file jarak jauh ke lokal
Salin file dari server lokal ke server jarak jauh dengan SSH
[[Email Dilindungi]: ~]# rsync -avzhe ssh cadangan.ter.GZ [Email Dilindungi]:/Cadangan/[Email Dilindungi] Kata Sandi: Mengirim Daftar File tambahan yang dibuat Direktori/Cadangan Cadangan.ter.GZ mengirim 224.59k byte menerima 66 byte 64.19k bytes/detik ukuran total adalah 224.40K Speedup adalah 1.00 
Rsync menyalin file lokal ke remote

[Anda mungkin juga suka: cara menggunakan rsync untuk menyinkronkan file baru atau diubah/dimodifikasi di linux]

4. Tampilkan kemajuan saat mentransfer data dengan rsync

Untuk menunjukkan kemajuan saat mentransfer data dari satu mesin ke mesin yang berbeda, kami dapat menggunakan '-kemajuan' pilihan. Ini menampilkan file dan waktu yang tersisa untuk menyelesaikan transfer.

[[Email Dilindungi]:/]# rsync -avzhe ssh --progress/root/rpmpkgs [email dilindungi]:/root/rpmpkgs [dilindungi email] kata sandi: mengirim daftar file tambahan rpmpkgs/rpmpkgs/httpd -2.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) Dikirim 3.74m byte menerima 96 byte 1.50m byte/detik ukuran total adalah 3.Speedup 74m adalah 1.00 
Rsync Kemajuan Saat Menyalin File

5. Penggunaan opsi -meng

Dua opsi ini memungkinkan kami untuk melakukannya termasuk Dan mengecualikan file dengan menentukan parameter dengan opsi ini membantu kami menentukan file atau direktori yang ingin Anda sertakan dalam sinkronisasi Anda dan mengecualikan file dan folder dengan Anda tidak ingin ditransfer.

Di sini, dalam contoh ini, perintah RSYNC hanya akan menyertakan file dan direktori yang dimulai dengan 'R'dan mengecualikan semua file dan direktori lainnya.

[[Email Dilindungi]:/]# rsync -avze ssh --include 'r*' --exclude '*' [email dilindungi]:/var/lib/rpm//root/rpm [email dilindungi] kata sandi: Menerima Daftar File tambahan yang dibuat Direktori /Root /RPM ./ Membutuhkan nama Dikirim 61 byte menerima 273.074 byte 60.696.Ukuran total 67 byte/detik adalah 761.856 speedup adalah 2.79 
Rsync menyertakan dan mengecualikan file

6. Penggunaan opsi -delete

Jika file atau direktori tidak ada di sumber, tetapi sudah ada di tujuan, Anda mungkin ingin menghapus file/direktori yang ada di target saat menyinkronkan.

Kita bisa menggunakan '-menghapus'Opsi untuk menghapus file yang tidak ada di direktori sumber.

Sumber dan target selaras. Sekarang buat file baru tes.txt di target.

[[email dilindungi]: ~]# cd/root/rpm/[[email terlindungi]: ~/rpm]# tes sentuh.txt [[email dilindungi]: ~/rpm]# rsync -avz - -end [email dilindungi]:/var/lib/rpm//root/rpm/[email dilindungi] Kata sandi: menerima tes penghapusan file tambahan tambahan.txt ./ .dbenv.kunci .RPM.BASENAMA KUNCI CONFLIKNAME NAME DRNAMES SENSINAME FILETRIGGERNAME GROUP INSTALTID Nama Obsoletename Paket Providename Sha1Header Sigmd5 Sarankan Nama SuplemenName TransfiletriggerName TriggerName __db.001 __db.002 __db.003 Dikirim 445 byte menerima 18.543.954 byte 2.472.586.53 byte/detik ukuran total adalah 71.151.616 speedup adalah 3.84 

Target memiliki file baru yang dipanggil tes.txt, Saat menyinkronkan dengan sumber dengan '-menghapus'Opsi, itu menghapus file tes.txt.

Opsi Hapus Rsync

7. Atur ukuran maks file yang akan ditransfer

Anda dapat menentukan Max Ukuran file yang akan ditransfer atau disinkronkan. Anda bisa melakukannya dengan “-ukuran maksimal" pilihan. Di sini dalam contoh ini, ukuran file maks 200k, Jadi perintah ini hanya akan mentransfer file -file yang sama dengan atau lebih kecil dari 200k.

[[email dilindungi]: ~]# rsync -avzhe ssh - -max -size = '200k'/var/lib/rpm/[email dilindungi]:/root/tmprpm [dilindungi email] Kata sandi: Mengirim Daftar File tambahan tambahan Direktori /root /tmprpm yang dibuat ./ .dbenv.kunci .RPM.kunci konflikName Enhancename FileTriggerName Group installtid Nama obsoletename REKOMENDASIname Nameename sha1header sigmd5 sugesti.002 Dikirim 129.52k byte menerima 396 byte 28.87K byte/detik ukuran total adalah 71.Speedup 15m adalah 547.66 
Rsync mengatur ukuran transfer file maks

8. Secara otomatis menghapus file sumber setelah transfer yang berhasil

Sekarang, misalkan Anda memiliki server web utama dan server cadangan data, Anda membuat cadangan harian dan menyinkronkannya dengan server cadangan Anda, sekarang Anda tidak ingin menyimpan salinan cadangan lokal di server web Anda.

Jadi, maukah Anda menunggu transfer selesai dan kemudian menghapus file cadangan lokal itu secara manual? Tentu tidak. Penghapusan otomatis ini dapat dilakukan dengan menggunakan '-Lepaskan file sumber' pilihan.

[[Email Dilindungi]: ~]# rsync--remove-source-files -ZVH cadangan.ter.GZ [Email Dilindungi]:/tmp/cadangan/[email dilindungi] Kata sandi: cadangan.ter.GZ dikirim 795 byte menerima 2.33K bytes 894.29 byte/detik ukuran total adalah 267.30K Speedup adalah 85.40 [[email dilindungi]: ~]# ls -l cadangan.ter.GZ LS: tidak dapat mengakses cadangan '.ter.GZ ': Tidak ada file atau direktori seperti itu 
Rsync menghapus file sumber setelah transfer

9. Lakukan lari kering dengan rsync

Jika Anda seorang pemula menggunakan RSYNC dan tidak tahu apa yang akan dilakukan perintah Anda. Rsync benar -benar bisa mengacaukan hal -hal di folder tujuan Anda dan kemudian melakukan undo bisa menjadi pekerjaan yang membosankan.

[Anda mungkin juga suka: cara menyinkronkan dua server web/situs web Apache menggunakan rsync]

Penggunaan opsi ini tidak akan membuat perubahan pada file dan menunjukkan output perintah, jika output menunjukkan persis sama yang ingin Anda lakukan maka Anda dapat menghapus '-Dry-run'Opsi dari perintah Anda dan jalankan di terminal.

[[email dilindungi]: ~]# rsync --Dry-run --Lepaskan Sumber-Files -ZVH Cadangan.ter.GZ [Email Dilindungi]:/tmp/cadangan/[email dilindungi] Kata sandi: cadangan.ter.GZ dikirim 50 byte menerima 19 byte 19.71 byte/detik ukuran total adalah 267.30K Speedup adalah 3.873.97 (Lari kering) 
RUNNC Dry Run

10. Rsync mengatur batas bandwidth dan file transfer

Anda dapat mengatur batas bandwidth saat mentransfer data dari satu mesin ke mesin lain dengan bantuan '-Bwlimit' pilihan. Opsi ini membantu kita membatasi I/o bandwidth.

[[Email Dilindungi]]# rsync --blimit = 100 -avzhe ssh/var/lib/rpm/[email dilindungi]:/root/tmprpm/[email dilindungi] kata sandi: mengirim daftar file tambahan yang dikirim 324 byte yang diterima 12 byte 61.09 byte/detik ukuran total adalah 38.08m Speedup adalah 113347.05

Juga, secara default rsync sinkronisasi mengubah blok dan byte saja, jika Anda ingin secara eksplisit ingin menyinkronkan seluruh file maka Anda menggunakan '-W'Opsi dengan itu.

[[email dilindungi]]# cadangan rsync -zvhw.tar/tmp/cadangan/cadangan.Cadangan Tar.Tar dikirim 14.71m byte menerima 31 byte 3.27m byte/detik ukuran total adalah 16.Speedup 18m adalah 1.10

Itu semua dengan rsync sekarang, Anda bisa melihat Halaman manusia Untuk lebih banyak opsi. Tetap terhubung dengan Tecmint Untuk tutorial yang lebih menarik dan menarik di masa depan. Tinggalkan Anda Komentar Dan saran.