Command Rsync Linux (Sinkronisasi Jarak Jauh)
Command rsync Linux berfungsi untuk memindahkan dan mensinkronisasikan file secara efektif antara perangkat lokal, remote server, atau perangkat lainnya yang serupa.
Bagi user sistem berbasis Linux, command ini sangat disarankan karena memungkinkan mereka untuk mengatur dan mengelola file atau direktori. Melalui artikel ini, Anda akan mempelajari apa pun tentang Linux Rsync.
Sinkronisasi folder atau penyalinan file secara manual akan sangat membuang-buang waktu. Rsync dapat melakukan banyak hal, termasuk menambahkan beberapa fitur canggih untuk menghemat waktu.
Bahkan jika koneksi hilang saat memindahkan file, tool ini akan memulai dari proses pemindahan yang sempat terhenti ketika koneksi sudah kembali.
Sintaks Dasar
Berikut tampilan sintaks dasar dari rsync:
rsync [optional modifiers] [SRC] [DEST]
Ada dua cara berbeda untuk menjalankan Linux rsync. Contohnya, [optional modifiers] untuk mengindikasikan aksi yang dilakukan, [SRC] adalah source directory, dan [DEST] adalah directory atau perangkat yang dituju.
Sintaks Dasar untuk Remote Shell
Sintaks rsync akan berbeda jika Anda menggunakan remote shell, seperti SSH atau RSH.
Gunakan perintah rsync di bawah ini untuk mengakses remote shell (PULL):
rsync [optional modifiers] [USER@]HOST:SRC [DEST]
Jalankan perintah rsync ini untuk mengakses remote shell (PUSH):
rsync [optional modifiers] SRC [USER@]HOST:[DEST]
Cara Mengecek Versi Rsync Linux
Sebelum mengecek versi Rsync, login terlebih dulu ke server VPS terbaik yang Anda gunakan. Tutorial ini akan menunjukkan bagaimana cara melakukannya pada perangkat Windows dengan menggunakan Putty SSH. JIka Anda menggunakan komputer MacOS atau Linux, cukup gunakan terminalnya.
Rsync sudah terinstall di berbagai distribusi Linux. Untuk mengecek apakah rsync sudah terinstal pada perangkat Anda, jalankan command berikut:
rsync -version
Pada distribusi Ubuntu, command menghasilkan output seperti berikut:
rsync version 3.1.3 protocol version 31
Itu berarti rsync linux versi 3.1.3 sudah terinstall pada perangkat Anda. Mudah, kan?
Cara Install Rsync Linux
Jika tidak ada rsync yang terinstall pada perangkat, Anda dapat menginstalnya secara manual hanya dalam satu menit! Pada distribusi berbasis Debian, seperti Ubuntu, Anda dapat melakukannya dengan menggunakan command berikut:
apt-get install rsync
Pada distribusi berbasis rpm seperti Fedora dan CentOS, Anda dapat menggunakan command berikut:
yum install rsync
Pada MacOS, gunakan command berikut:
brew install rsync
Selesai! Linux Rsync kini dapat mensinkronisasi data Anda, melakukan pemindahan, dan juga menghapus file! Anda dapat mengecek apakah proses instalasinya berhasil atau tidak dengan menggunakan command yang telah disebutkan:
rsync -version
Bekerja dengan Rsync
Untuk tutorial ini, kami membuat dua direktori pada desktop Linux dan menamainya dengan original dan duplicate. Direktori Original memiliki 3 image di dalamnya, sedangkan direktori duplicate kosong. Sekarang, mari pahami bagaimana rsync dapat meningkatkan produktivitas.
Untuk membuat dua direktori testing, gunakan perintah ini:
cd ~ mkdir original mkdir duplicate touch original/file{1..3}
Jika ingin mengecek kembali, jalankan perintah Is untuk menampilkan semua file di dalam direktori:
ls original
Hasilnya akan seperti ini:
file1 file2 file3
Apabila perintah Is ditambahkan di direktori dupolicate, hasilnya nihil atau kosong.
Command di bawah ini, ketika ditambahkan ke command line, akan menyalin atau mensinkronisasi semua file yang ada di direktori original ke direktori duplicate.
rsync original/* duplicate/
* menginstruksikan command rsync untuk mensinkronisasikan semuanya yang ada di direktori Original ke direktori Duplicate.
Jika kita menaruh gambar atau file baru pada folder original dan menjalankan lagi command yang sama, maka hanya gambar baru yang tersalin ke direktori yang dituju.
Fitur ini mudah digunakan ketika Anda akan menyalin file melalui jaringan dengan bandwidth terbatas.
Perintah Rsync yang Paling Sering Digunakan
Berikut beberapa daftar perintah yang paling sering digunakan di rsync:
Mengaktifkan mode arsip.
-a, --archive
Menampilkan visual progres dari suatu proses.
-v, --verbose
Hasil dengan format yang dapat dibaca (human-readable format).
-h, --human-readable format
Meng-compress data file pada saat transfer.
-z, --compress
Menyalin data secara rekursif.
-r
Cara Menggunakan Perintah Rsync di Subdirektori
Perlu diingat bahwa command di atas hanya akan menyalin file dari direktori utama folder 0riginal, tapi tidak dengan subdirektorinya.
Jika Anda ingin menyalin subdirektorinya juga, gunakan command berikut:
rsync -r original/ duplicate/
Opsi -r (–recursive) memerintahkan rsync untuk menyalin apa pun termasuk subdirektori dan file dari folder original.
Modifier / digunakan setelah original menginstruksi rsync untuk copy konten dari direktori Original ke direktori Duplicate.
Cara Sinkronisasi File
Jika Anda ingin mensinkronisasikan file – salin file yang mungkin berada pada folder yang dituju ke folder original, maka gunakan command berikut:
rsync -r original duplicate/
Dengan command ini, kami yakin bahwa folder original maupun duplicate akan memuat file yang sama.
Cara Mengombinasikan Perintah Rsync
Opsi berguna lainnya adalah -a (–archive), dan opsi ini dapat digabung dengan berbagai macam command. Hal tersebut mengimplikasikan bahwa command tak hanya berfungsi untuk menyalin file, tapi juga menyalin permission, memodifikasi waktu, dan tanggal lainnya.
Untuk menggunakan -a, commandnya akan seperti ini:
rsync -av --dry-run Original/ Duplicate/
Jangan khawatir, hanya tampilannya saja yang terlihat rumit! Mari pahami lebih lanjut.
Command ini hanya menampilkan file yang akan disalin tanpa melakukan perubahan apa pun. Dengan command ini, Anda bisa mendapatkan daftar file yang akan disalin.
Jika semua file ingin Anda salin, jalankan kembali command without —dry-run.
—dry-run (atau-n) menginstruksikan rsync melakukan uji coba tanpa ada perubahan apa pun.
Opsi Lain untuk Perintah Rsync
-a mengaktifkan mode arsip
-v (–verbose) ditambahkan ke -a untuk membuat -av pada command dan meningkatkan mode verbose. Dengan kata lain, menggunakan -v akan memberikan visual output yang menunjukkan kemajuan dari proses yang dijalankan. Tampilan perintahnya seperti ini:
rsync -av original/ duplicate/
Jika Anda ingin mensinkronkan dua folder, tapi ingin menghapus item pada folder duplicate yang tidak ada di folder original, tambahkan –delete, seperti berikut:
rsync -av --delete original/ duplicate/
Ketika mensinkronisasikan dua folder, file atau subdirektori tertentu dapat dikecualikan (exclude). Cukup tambahkan perintah -exclude=. Jika file yang hendak dikecualikan berjumlah lebih dari satu, pisahkan dengan tanda koma.
rsync -av --exclude=file1,file2 original/ duplicate/
Pada saat sinkronisasi berlangsung, Anda bisa menyertakan (include) file atau subdirektori tertentu. Cukup tambahkan -include=. Namun di sisi lain, perintah ini bisa dijalankan berbarengan dengan -exclude=. Misalnya, perintah di bawah ini akan menyertakan semua file yang diawali dengan huruf L dan mengecualikan file lainnya:
rsync -av --include=L* --exclude=* original/ duplicate/
Dengan Rysnc, Anda juga bisa mengatur ukuran file yang dapat disinkronisasikan. Jalankan perintah -max-size ini:
rsync -av --max-size=10k original/ duplicate/
Command variabel terakhir yang akan kami bahas adalah -z (–compress). Command ini akan menggabungkan file yang ditransfer melalui jaringan. Sebagai bonus, berikut cara untuk memindahkan data dari source server satu ke yang lain. Command nya akan terlihat seperti ini:
rsync -za ~/Desktop/Original edward@192.168.22.90:~/tmp/
Sebagaimana yang telah disebutkan sebelumnya, -z meng-compress file, -a, atau hanya menambahkan a ke -z, akan menjamin semua permission tersalin.
~/Desktop/Original adalah sourcenya. Source tersebut merupakan direktori lokal – yang mana berada pada perangkat yang Anda masuki, dan terakhir edward@192.168.22.90:~/tmp/ mengindikasikan destinasinya. edward@192.168.22.90 adalah alamat server remote yang dituju, sedangkan :~/tmp/ menunjukkan folder spesifik pada perangkat tersebut.
Cara Menambahkan Progress Bar
Untuk menggabungkan opsi -progress dan -partial, tambahkan -P. Opsi ini akan memunculkan progress bar untuk file yang sedang ditransfer dan memperbolehkan Anda untuk melanjutkan transfer file yang terputus.
rsync -azP [SRC] [DEST]
Hasilnya akan seperti ini:
sending incremental file list ./ file1 0 100% 0.00kB/s 0:00:00 (xfer#1, to-check=1/3) file2 0 100% 0.00kB/s 0:00:00 (xfer#2, to-check=2/3) file3 0 100% 0.00kB/s 0:00:00 (xfer#3, to-check=3/3)
Jika perintah dijalankan sekali lagi, hasil yang ditampilkan akan lebih sedikit. Hal ini dikarenakan tidak adanya perubahan yang dibuat. Hasilnya kurang lebih akan seperti ini:
sending incremental file list send 26 bytes received 5 bytes 1200.00 bytes/sec total size is 0 speedup is 0.00
Apabila Anda hanya ingin mentransfer file tertentu, jalankan perintah ini:
touch original/file{1..5} rsync -azP [SRC] [DEST]
Hasilnya tidak akan jauh berbeda dengan yang sebelumnya. Namun, file yang ditampilkan hanyalah file yang ditentukan di dalam kurung kurawal.
Cara Membuat Backup Rsync
Untuk membuat backup rsync, sertakan -backup di perintah -dir. Dengan begini, Anda bisa menentukan lokasi penyimpanan file backup.
rsync -a --delete --backup --backup-dir=/path/to/backup /path/to/SRC [DEST]
Kesimpulan
Linux Rsync merupakan command yang sangat berguna dan dapat dimanfaatkan dengan sebaik-baiknya oleh server admin maupun Linux Developer. Di artikel ini kami telah membahas semuanya mulai dari instalasi sampai ke command dasar. Jika ingin mengetahui lebih lanjut tentang fitur canggih rsync Linux, silakan baca panduan resminya!
Selamat mengembangkan proyek Anda!