Android

Cara menggunakan rsync untuk transfer dan sinkronisasi data lokal dan jarak jauh

Rsync (Remote Sync) - Sinkronisasi File dan Directori di Linux

Rsync (Remote Sync) - Sinkronisasi File dan Directori di Linux

Daftar Isi:

Anonim

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

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

Dalam tutorial ini, kami akan menunjukkan kepada Anda bagaimana menggunakan rsync melalui contoh-contoh praktis dan penjelasan rinci tentang opsi rsync paling umum.

Menginstal Rsync

Utilitas rsync sudah diinstal pada sebagian besar distribusi Linux dan macOS. Anda dapat memeriksa apakah itu diinstal pada sistem Anda dengan mengetik:

rsync --version

rsync version 3.1.2 protocol version 31

Instal Rsync di Ubuntu dan Debian

sudo apt install rsync

Instal Rsync pada CentOS dan Fedora

sudo yum install rsync

Sintaks Perintah Rsync

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

Ekspresi utilitas rsync mengambil bentuk berikut:

Local to Local: rsync…… DEST Local to Remote: rsync…… HOST:DEST Remote to Local: rsync… HOST:SRC…

  • OPTION - Opsi rsync. SRC - Direktori sumber. DEST - Direktori tujuan. USER - Remote username. HOST - Nama host jarak jauh atau Alamat IP.

rsync menyediakan sejumlah opsi yang mengontrol setiap aspek dari perilakunya. Opsi yang paling banyak digunakan adalah:

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

Penggunaan Dasar Rsync

Untuk menyalin satu file dari satu ke lokasi lokal lain Anda akan menjalankan perintah berikut:

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

Pengguna yang menjalankan perintah harus memiliki izin baca di lokasi tujuan dan menulis izin 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

Dalam contoh di bawah ini kami membuat cadangan lokal untuk file situs web kami:

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 yang berbeda ke direktori sumber dengan garis miring / . Jika Anda menambahkan garis miring pada direktori sumber, ia hanya akan menyalin konten direktori ke direktori tujuan. Ketika trailing slash dihilangkan, rsync akan menyalin direktori sumber di dalam direktori tujuan.

Cara Menggunakan Rsync untuk Menyinkronkan Data dari / ke Mesin jarak jauh

Saat menggunakan rsync untuk transfer jarak jauh, harus diinstal pada sumber dan mesin tujuan. Versi rsync baru dikonfigurasikan untuk menggunakan SSH sebagai shell remote default.

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

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

Jika Anda ingin mentransfer data dari jarak jauh ke mesin lokal maka Anda perlu menggunakan 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 maka Anda dapat menentukan port menggunakan opsi -e :

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 perintah rsync di dalam sesi layar atau menggunakan opsi -P :

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

Kecualikan File dan Direktori

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

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

Dalam contoh berikut, kami mengecualikan direktori node_modules dan tmp yang terletak di dalam src_directory :

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

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

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

node_modules tmp

Kesimpulan

Dalam tutorial ini, Anda belajar cara menggunakan Rsync untuk menyalin dan menyinkronkan file dan direktori. Ada banyak lagi yang bisa dipelajari tentang Rsync di halaman Panduan Pengguna Rsync.

Jangan ragu untuk meninggalkan komentar jika Anda memiliki pertanyaan.

terminal rsync