Menyalin file dari satu lokasi ke lokasi lain adalah tugas yang cukup mendasar dan dapat dengan mudah dicapai dengan menggunakan perintah cp. Namun, terkadang, Anda harus melakukan sedikit lebih banyak. Di sinilah perintah rsync datang terutama ketika Anda mentransfer file yang lebih besar. Rsync (Remote Sync) adalah alat baris perintah berbasis Linux yang dapat digunakan untuk menyinkronkan dan menyalin file antara server lokal dan jauh. Ini memungkinkan sinkronisasi file antara dua direktori di komputer yang sama, antara direktori di dua komputer berbeda di jaringan yang sama, antara dua direktori di sistem jarak jauh.
Keuntungan utama dari rsync adalah bahwa alih-alih menyalin seluruh konten secara membabi buta, ia hanya menganalisis dan mentransfer perbedaan antara sumber dan tujuan yang mungkin menghemat sumber daya dan bandwidth sistem. Beberapa keuntungan lain dari rsync adalah sebagai berikut:
- Mengompres file sebelum mentransfer
- Dapat melihat bilah kemajuan saat mentransfer data
- Proses penyalinan dapat dijeda dan dilanjutkan lagi nanti
- Memungkinkan transfer melalui koneksi SSH
Pada artikel ini, kami akan menjelaskan cara menggunakan rsync untuk menyalin data di Linux. Kami akan menggunakan Debian 10 untuk menjelaskan prosedur yang disebutkan dalam artikel ini.
Instalasi Rsync
Rsync diinstal di sebagian besar sistem operasi Linux secara default. Namun, jika belum terinstal, maka Anda dapat menginstalnya dengan mengikuti langkah-langkah di bawah ini:
Luncurkan aplikasi Terminal di sistem Anda dengan masuk ke Aktivitas tab di sudut kiri atas desktop Debian Anda. Kemudian di bilah pencarian, ketik terminal . Saat ikon Terminal muncul, klik untuk meluncurkannya.
Sekarang jalankan perintah di bawah ini di Terminal untuk menginstal utilitas rsync:
$ apt install rsync
Menggunakan Rsync
Setiap perintah rsync dimulai dengan rsync diikuti oleh opsi di mana Anda dapat menentukan berbagai parameter. Rsync menyediakan sejumlah opsi yang memberi Anda kendali untuk membentuk spesifikasi transfer. Lalu ada sumber dan tujuan yang bergantung pada apakah mereka mesin jarak jauh atau lokal.
Sintaks dasar rsync adalah:
$ rsync [option] [source] [destination]
Beberapa opsi umum yang digunakan dengan perintah rsync:
- -v :bertele-tele
- -a :mode arsip, memungkinkan penyalinan file secara rekursif dan mempertahankan tautan simbolik, izin file, kepemilikan pengguna &grup, dan stempel waktu
- -z :mengompresi data
- -h :dapat dibaca manusia, menampilkan angka dalam format yang dapat dibaca manusia
- –max-size= SIZE, transfer file dengan SIZE minimum yang ditentukan
- –min-size= SIZE, transfer file dengan SIZE maksimal yang ditentukan
Sekarang kami akan menjelaskan beberapa contoh penggunaan rsync dengan opsi ini.
Salin file dan direktori ke server lokal
Salin file secara lokal
Anda dapat menyalin satu atau beberapa file dari direktori sumber ke direktori tujuan pada mesin yang sama. Contohnya adalah menyalin semua .jpg file dari ~/Unduhan direktori ke ~/Documents direktori menggunakan perintah berikut:
$ rsync -zvh /home/tin/Downloads/*.jpg /home/tin/Documents
Setelah menjalankan perintah di atas, semua .jpg file di direktori sumber /home/tin/Downloads akan disalin ke direktori tujuan /home/tin/Documents .
Pada contoh di atas, kami telah menggunakan opsi seperti -z untuk kompresi, -v untuk keluaran verbose dan -h untuk keluaran yang dapat dibaca manusia.
Salin direktori secara lokal
Mirip dengan file, Anda juga dapat menyalin seluruh folder dan file yang terdapat dalam direktori menggunakan perintah rsync. Contohnya adalah menyalin semua file dari ~/Downloads direktori ke ~/Documents direktori menggunakan perintah berikut:
$ rsync -zavh /home/tin/Downloads/ /home/tin/Documents
Menyalin file ke server jauh
Anda dapat menyalin satu atau beberapa file dari direktori sumber ke direktori tujuan pada mesin jarak jauh. Misalnya, untuk menyalin file dari lokal ke mesin jarak jauh, gunakan sintaks perintah berikut:
$ rsync [options] [local path] [user]@[remote server]:[remote path]
Menyalin File Berdasarkan Ukuran Maksimum
Anda juga dapat menentukan ukuran maksimum file yang dapat disalin dari sumber ke tujuan menggunakan rsync. Untuk melakukannya, gunakan sintaks perintah berikut:
$ rsync --max-size=”” [source] [destination]
Contohnya adalah menyalin file dengan ukuran maksimum 4000K dari sumber ~/Downloads ke tujuan ~/Dokumen direktori. Dalam hal ini, file dengan ukuran lebih besar dari 4000k tidak akan disalin ke tujuan.
$ rsync --max-size=4000k /home/tin/Downloads/*.iso /home/tin/Documents/
Menyalin File Berdasarkan Ukuran Minimum
Demikian pula, Anda juga dapat menentukan ukuran minimum yang dapat disalin dari sumber ke tujuan menggunakan rsync. Untuk melakukannya, gunakan sintaks perintah berikut:
$ rsync --min-size=”” [source] [destination]
Contohnya adalah menyalin file dengan ukuran maksimum 2M dari sumber ~/Downloads ke tujuan ~/Dokumen direktori. File dengan ukuran kurang dari 2M tidak akan disalin menggunakan rsync.
$ rsync --min-size=2M /home/tin/Downloads/*.iso /home/tin/Documents/
Lihat kemajuan
Anda juga dapat melihat kemajuan saat menyalin file menggunakan rsync. Tambahkan –kemajuan tandai mengikuti perintah rsync seperti yang ditunjukkan di bawah ini:
$ rsync --progress [source] [destination]
Contohnya adalah melihat kemajuan saat menyalin file dari sumber ~/Downloads ke tujuan ~/Dokumen direktori:
$ rsync --progress /home/tin/Downloads/VTS_03_1.VOB /home/tin/Documents
Kecualikan file
Anda juga dapat mengecualikan file tertentu saat menyalin file dari sumber ke tujuan menggunakan rsync. Contohnya adalah mengecualikan semua file .pdf saat menyalin file dari sumber ~/Downloads ke tujuan ~/Dokumen direktori.
rsync -zavh --exclude="*.pdf" /home/tin/Downloads/ /home/tin/Documents
Dengan memasukkan perintah berikut, semua file akan disalin dari sumber ke tujuan kecuali .pdf file.
Itu saja! Kami telah menjelaskan penggunaan dasar utilitas rsync untuk menyalin file antara direktori yang berbeda secara lokal dan jarak jauh. Kami juga telah menjelaskan beberapa opsi rync yang umum dan berguna. Ada begitu banyak opsi selain ini yang dapat Anda gunakan untuk mengontrol setiap aspek perilaku transfer. Untuk menggunakan opsi tersebut, lihat halaman manual rsync.