GNU/Linux >> Belajar Linux >  >> Linux

Perintah Rsync di Linux dengan Contoh

rsync adalah utilitas baris perintah yang cepat dan serbaguna untuk menyinkronkan file dan direktori antara dua lokasi melalui shell jarak jauh, atau dari/ke daemon Rsync jarak jauh. Ini menyediakan transfer file tambahan yang cepat dengan hanya mentransfer perbedaan antara sumber dan tujuan.

Rsync dapat digunakan untuk mirroring data, incremental backup, menyalin file antar sistem, dan sebagai pengganti scp , sftp , dan cp perintah.

Artikel ini menjelaskan cara menggunakan rsync melalui contoh-contoh praktis dan penjelasan rinci tentang rsync yang paling umum pilihan.

Menginstal Rsync #

rsync utilitas sudah diinstal sebelumnya pada sebagian besar distribusi Linux dan macOS. Jika Anda tidak memiliki rsync diinstal pada sistem Anda, Anda dapat dengan mudah menginstalnya menggunakan manajer paket distribusi Anda.

Instal Rsync di Ubuntu dan Debian #

sudo apt install rsync

Instal Rsync di CentOS dan Fedora #

sudo yum install rsync

Sintaks Perintah Rsync #

Sebelum masuk ke cara menggunakan rsync perintah, mari kita mulai dengan meninjau sintaks dasar.

rsync ekspresi utilitas mengambil bentuk berikut:

Local to Local:  rsync [OPTION]... [SRC]... DEST
Local to Remote: rsync [OPTION]... [SRC]... [USER@]HOST:DEST
Remote to Local: rsync [OPTION]... [USER@]HOST:SRC... [DEST]
  • OPTION - Opsi rsync.
  • SRC - Direktori sumber.
  • DEST - Direktori tujuan.
  • USER - Nama pengguna jarak jauh.
  • HOST - Nama host atau Alamat IP jarak jauh.

rsync menyediakan sejumlah opsi yang mengontrol bagaimana perintah berperilaku. Opsi yang paling banyak digunakan adalah:

  • -a , --archive , mode arsip, setara dengan -rlptgoD . Opsi ini memberi tahu rsync untuk menyinkronkan direktori secara rekursif, mentransfer perangkat khusus dan memblokir, mempertahankan tautan simbolis, waktu modifikasi, grup, kepemilikan, dan izin.
  • -z , --compress . Opsi ini memaksa rsync untuk mengompresi data saat dikirim ke mesin tujuan. Gunakan opsi ini hanya jika koneksi ke mesin jarak jauh lambat.
  • -P , setara dengan --partial --progress . Saat opsi ini digunakan, rsync menunjukkan bilah kemajuan selama transfer dan menyimpan file yang ditransfer sebagian. Berguna saat mentransfer file besar melalui koneksi jaringan yang lambat atau tidak stabil.
  • --delete . Saat opsi ini digunakan, rsync menghapus file asing dari lokasi tujuan. Ini berguna untuk mirroring.
  • -q , --quiet . Gunakan opsi ini jika Anda ingin menyembunyikan pesan non-kesalahan.
  • -e . Opsi ini memungkinkan Anda untuk memilih shell jarak jauh yang berbeda. Secara default, rsync dikonfigurasi untuk menggunakan ssh.

Penggunaan Rsync Dasar #

Kasus penggunaan paling dasar dari rsync adalah menyalin satu file dari satu ke lokasi lokal lainnya. Ini contohnya:

rsync -a /opt/filename.zip /tmp/

Pengguna yang menjalankan perintah harus memiliki izin baca di lokasi sumber dan izin tulis di tujuan.

Menghilangkan nama file dari lokasi tujuan menyalin file dengan nama saat ini. Jika Anda ingin menyimpan file dengan nama yang berbeda, tentukan nama baru di bagian tujuan:

rsync -a /opt/filename.zip /tmp/newfilename.zip

Kekuatan sebenarnya dari rsync datang saat menyinkronkan direktori. Contoh di bawah ini menunjukkan cara membuat cadangan lokal file situs web:

rsync -a /var/www/domain.com/public_html/ /var/www/domain.com/public_html_backup/

Jika direktori tujuan tidak ada, rsync akan membuatnya.

Perlu disebutkan bahwa rsync memberikan perlakuan berbeda pada direktori sumber dengan garis miring (/ ). Jika direktori sumber memiliki garis miring, perintah hanya akan menyalin konten direktori ke direktori tujuan. Ketika garis miring dihilangkan, rsync menyalin direktori sumber di dalam direktori tujuan.

Menggunakan rsync untuk Menyinkronkan Data dari/ke Mesin jarak jauh #

Saat menggunakan rsync untuk mentransfer data dari jarak jauh, itu harus diinstal pada mesin sumber dan tujuan. Versi baru rsync dikonfigurasi untuk menggunakan SSH sebagai shell jarak jauh default.

Dalam contoh berikut, kami mentransfer direktori dari mesin lokal ke mesin jarak jauh:

rsync -a /opt/media/ remote_user@remote_host_or_ip:/opt/media/
Jika Anda belum mengatur login SSH tanpa kata sandi ke mesin jarak jauh, Anda akan diminta memasukkan kata sandi pengguna.

Untuk mentransfer data dari jarak jauh ke mesin lokal, gunakan lokasi jarak jauh sebagai sumber:

rsync -a remote_user@remote_host_or_ip:/opt/media/ /opt/media/

Jika SSH pada host jarak jauh mendengarkan pada port selain dari default 22 , tentukan port menggunakan -e pilihan:

rsync -a -e "ssh -p 2322" /opt/media/ remote_user@remote_host_or_ip:/opt/media/

Saat mentransfer data dalam jumlah besar, disarankan untuk menjalankan rsync perintah di dalam sesi layar atau untuk menggunakan -P pilihan:

rsync -a -P remote_user@remote_host_or_ip:/opt/media/ /opt/media/

Kecualikan File dan Direktori #

Ada dua opsi untuk mengecualikan file dan direktori. Opsi pertama adalah menggunakan --exclude argumen dan tentukan file dan direktori yang ingin Anda kecualikan pada baris perintah.

Saat mengecualikan file atau direktori, Anda perlu menggunakan jalur relatifnya ke lokasi sumber.

Dalam contoh berikut menunjukkan bagaimana mengecualikan node_modules dan tmp direktori:

rsync -a --exclude=node_modules --exclude=tmp /src_directory/ /dst_directory/

Opsi kedua adalah menggunakan --exclude-from dan tentukan file dan direktori yang ingin Anda kecualikan dalam file.

rsync -a --exclude-from='/exclude-file.txt' /src_directory/ /dst_directory/
/exclude-file.txt
node_modules
tmp

Kesimpulan #

Kami telah menunjukkan kepada Anda cara menggunakan Rsync untuk menyalin dan menyinkronkan file dan direktori. Masih banyak lagi yang bisa dipelajari tentang Rsync di Rsync User's Manualpage.

Jangan ragu untuk meninggalkan komentar jika Anda memiliki pertanyaan.


Linux
  1. Perintah Tee Linux dengan Contoh

  2. Perintah kepala Linux dengan Contoh

  3. Perintah JQ di Linux dengan Contoh

  1. Perintah wc Linux dengan Contoh

  2. Perintah sortir Linux dengan Contoh

  3. Perintah rsync Linux dengan contoh praktis

  1. Perintah Echo di Linux (Dengan Contoh)

  2. Perintah man di Linux dengan Contoh

  3. Perintah AWK di Linux dengan Contoh