Pengantar
Sinkronisasi jarak jauh, atau perintah rsync digunakan untuk mentransfer dan menyinkronkan file dan direktori antara mesin, host, shell jarak jauh, atau kombinasi di atas. Ini adalah utilitas yang kuat yang harus Anda ketahui jika Anda bekerja dengan Linux. Kami akan membahas dasar-dasar perintah rsync di sini. Meskipun artikel ini menggunakan Ubuntu 20.04, Anda dapat menggunakan perintah yang sama pada distribusi Linux lainnya.
Apa yang membuat rsync begitu istimewa?
Perintah rsync menggunakan kompresi dan dekompresi saat menerima dan mengirim file, ini berarti akan menggunakan bandwidth yang sangat sedikit. Rsync hanya memperbarui perbedaan antara sumber dan tujuan karena menggunakan protokol pembaruan jarak jauh. Ini juga mendukung pemilik, grup, tautan, izin, dan perangkat.
Bagaimana cara menginstal rsync?
Sebagian besar distribusi Linux datang dengan rsync terinstal. Jika milik Anda tidak, gunakan perintah berikut di sistem Ubuntu Anda:
sudo apt-get install rsync
Sintaks Rsync
Bagian ini akan meninjau secara singkat sintaks rsync.
Transfer atau sinkronisasi lokal ke lokal
rsync {opsi} {sumber} {tujuan}
Transfer atau sinkronisasi lokal ke jarak jauh
rsync {option} {source} {[email protected]:destination}
Jarak jauh ke transfer atau sinkronisasi lokal
rsync {option} {[email protected]:destination} {destination}
Sumber adalah direktori sumber
Tujuan adalah direktori tujuan
Opsi adalah opsi perintah rsync
Pengguna adalah nama pengguna jarak jauh
Host adalah IP atau nama host jarak jauh
Cara menggunakan rsync
Salin file secara lokal
Untuk menyalin file secara lokal, gunakan:
rsync –a {filename} {destination}
Pada contoh di atas, kita menyalin “source.zip ” dari direktori kami saat ini ke Dokumen.
Anda dapat memeriksa apakah file telah disalin dengan mendaftar semua file dan direktori di Dokumen, menggunakan:
ls
Seperti yang Anda lihat, “source.zip ” ada di direktori Documents.
Jika Anda tidak menambahkan nama untuk file di tujuan, itu akan menyalin nama yang sama dengan file sumber. Untuk mengubah nama file tujuan, gunakan:
rsync –a {filename} {destination/filename}
Pada contoh di bawah, kita akan menyalin “source.zip ” lagi, tetapi kali ini, ganti namanya menjadi “destination.zip ”.
“destination.zip ” telah disalin ke direktori Documents, seperti yang ditunjukkan pada gambar di bawah ini.
Menyalin isi direktori ke tujuan
Anda dapat menggunakan perintah di bawah ini untuk menyalin isi direktori sumber Anda ke tujuan.
rsync –av {source}/ {destination}
Gambar di atas menunjukkan konten “Sumber ” sedang disalin ke “Tujuan ” direktori.
Salin seluruh direktori ke tujuan
Jika Anda hanya ingin menyalin isi direktori Anda ke tujuan, gunakan:
rsync –av {source} {destination}
Contoh di atas menyalin “Sumber ” dan isinya ke “Tujuan ” direktori.
Tampilkan kemajuan
Untuk melihat kemajuan, gunakan:
rsync –rv –progress {source} {destination}
Abaikan file
Jika Anda ingin mengabaikan file tertentu, gunakan:
rsync -vr --exclude '{condition}' {source} {destination}
“Sumber ” direktori memiliki file-file berikut:
Pada contoh di bawah, kami akan mengabaikan file yang dimulai dengan “s ”.
Seperti yang ditunjukkan gambar, hanya “file ” disalin.
Daftar file dan direktori
rsync dapat digunakan untuk membuat daftar isi dari sebuah sumber.
rsync {filename}
Perintah di atas mencantumkan isi direktori Documents.
Menyalin file dari mesin lokal ke mesin jarak jauh
Untuk memindahkan file ke mesin jarak jauh, Anda perlu menginstal openssh-server. Perintah untuk itu adalah:
sudo apt update
sudo apt install openssh-server
Setelah ini diinstal, Anda dapat menggunakan perintah di bawah ini untuk memindahkan file atau direktori Anda.
rsync –a {source} {remote [email protected] IP:/destination}
Anda akan dimintai kata sandi mesin jarak jauh.
Pada contoh di bawah, kita akan memindahkan “doc ” ke direktori home jarak jauh.
Menggunakan ls, kita dapat melihat bahwa “doc ” telah dipindahkan ke sini.
Menyalin file dari jarak jauh ke mesin lokal
Anda akan menggunakan perintah yang sama seperti yang digunakan pada contoh di atas.
rsync –a {remote source} {local [email protected] IP:/destination}
Dalam contoh ini, kita akan memindahkan “remotesrcdoc ” dari mesin jarak jauh ke mesin lokal.
Menggunakan ls, kita dapat melihat bahwa “remotesrcdoc ” telah dipindahkan ke sini.
Tambahkan tanggal saat ini ke file tujuan
Anda dapat menambahkan tanggal ke file tujuan atau nama direktori menggunakan:
rsync -av /home/test/Desktop/Linux /home/test/Desktop/rsync$(date +\\%Y-\\%m)
Pada contoh di bawah, kita akan memindahkan “source.zip ” ke Desktop, beri nama tujuan, dan tambahkan tanggalnya.
Melihat perbedaan antara file sumber dan tujuan
Perintah di bawah ini dapat digunakan untuk melihat perbedaan antara file sumber dan tujuan.
rsync –avzi {source}/ {destination}/
Gambar di bawah ini menunjukkan bahwa file, “Donat ” dan “Halo.txt ” tidak ada di direktori tujuan.
Parameter “f ” artinya berkas. Parameter lainnya termasuk:
t:perubahan stempel waktu
d:perubahan tujuan
s:mengubah ukuran file
Batasi bandwidth saat mentransfer file
Untuk membatasi bandwidth saat mentransfer file, gunakan:
rsync -vr --bwlimit=1000 {source}/* {destination}
Pada contoh di bawah, kami membatasi bandwidth hingga 1000kB.
Selengkapnya tentang rsync
Untuk melihat lebih banyak opsi yang tersedia di rsync, gunakan:
rsync –help
Kami membahas beberapa dasar perintah rsync, kami melihat cara mentransfer dan menyinkronkan file secara lokal dan jarak jauh.
Jika Anda ingin menyinkronkan file Anda menggunakan perintah scp, kunjungi di sini.