Pelajari Cara Bekerja Dengan Command Rsync
Dalam tutorial ini, kami membuat dua direktori di desktop Linux dan menamainya “original” dan “duplicate“. Direktori original berisi tiga gambar, tetapi direktori duplikatnya kosong.
Sekarang mari kita pahami bagaimana rsync dapat meningkatkan produktivitas Anda. Untuk membuat dua direktori pengujian, gunakan perintah berikut:
cd ~ mkdir original mkdir duplicate touch original/file{1..3}
Jika ingin memeriksa lagi, jalankan perintah Is untuk melihat semuan file dalam direktori:
ls original
Hasilnya akan terlihat seperti ini:
file1 file2 file3
Saat Anda menambahkan perintah Is ke direktori duplicate, hasilnya adalah nihil atau kosong.
Menambahkan perintah berikut ke command line akan menyalin atau menyinkronkan semua file di direktori original ke direktori duplicate.
rsync original/* duplicate/
*menginstruksikan command rsync untuk menyinkronkan semua yang ada di direktori original dengan direktori duplicate. Jika Anda menempatkan gambar atau file baru di folder asli dan menjalankan command yang sama lagi, hanya gambar baru yang akan disalin ke direktori tujuan.
Fitur ini mudah digunakan saat menyalin file melalui jaringan dengan bandwidth terbatas.
Perintah Rsync yang Paling Umum Digunakan
Di bawah ini adalah daftar perintah yang paling umum digunakan untuk rsync:
Mengaktifkan mode arsip.
-a, --archive
Menampilkan kemajuan proses secara visual.
-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 dengan Subdirektori
Perhatikan bahwa command di atas hanya menyalin file dari direktori utama folder original dan bukan dari subdirektorinya. Jika Anda juga ingin menyalin subdirektori, gunakan perintah berikut:
rsync -r original/ duplicate/
Opsi -r (–recursive) memberitahu rsync untuk menyalin semuanya dari folder original, termasuk subdirektori.
Modifier / digunakan setelah original untuk memberitahu rsync agar meng-copy konten direktori original ke direktori duplicate.
Cara Menyinkronkan File
Jika Anda ingin mensinkronisasikan file – salin file di folder tujuan ke folder original, lalu gunakan command berikut:
rsync -r original duplicate/
Dengan menjalankan command ini diyakini bahwa folder original maupun yang duplicate akan tetap memuat file yang sama.
Cara Menggabungkan Command Rsync
Opsi lain yang berguna adalah -a (–archive), yang dapat digabungkan dengan berbagai command. Artinya, command ini tidak hanya dapat menyalin file, tetapi juga menyalin permission, mengubah waktu, dan data lainnya.
Untuk menggunakan -a, commandnya adalah sebagai berikut:
rsync -av --dry-run Original/ Duplicate/
Jangan khawatir. Hanya terlihat rumit di luarnya saja. Mari kita memahami lebih lanjut.
Command ini hanya menampilkan file yang akan disalin tanpa melakukan perubahan apa pun. Anda dapat menggunakan command ini untuk mendapatkan daftar file yang akan disalin. Jika Anda ingin menyalin semua file, jalankan kembali command without —dry-run.
—dry-run (atau-n) memberitahu rsync untuk melakukan uji coba tanpa perubahan apa pun.
Opsi Lain untuk Perintah Rsync
-a mengaktifkan mode arsip
-v (–verbose) ditambahkan ke -a untuk membuat -av dalam command dan meningkatkan mode verbose. Dengan kata lain, -v akan memberikan visual output yang menunjukkan kemajuan proses yang sedang berjalan. Tampilan perintahnya seperti ini:
rsync -av original/ duplicate/
Jika Anda ingin menyinkronkan dua folder, namun ingin menghapus item di folder duplicate yang tidak ada di folder original, tambahkan –delete, seperti ini:
rsync -av --delete original/ duplicate/
Saat menyinkronkan dua folder, Anda dapat mengecualikan file atau subdirektori tertentu (exclude). Cukup tambahkan perintah -exclude=. Jika Anda ingin mengecualikan banyak file, pisahkan file dengan koma.
rsync -av --exclude=file1,file2 original/ duplicate/
Pada saat sinkronisasi berlangsung, Anda bisa menyertakan (include) file atau subdirektori tertentu. Cukup tambahkan -include=. Di sisi lain, command ini dapat dijalankan bersamaan dengan -exclude=. Misalnya, command berikut mencakup semua file yang dimulai dengan huruf L dan mengecualikan semua file lainnya:
rsync -av --include=L* --exclude=* original/ duplicate/
Rysnc juga memungkinkan Anda mengatur ukuran file yang akan disinkronkan. Jalankan dengan command -max-size ini:
rsync -av --max-size=10k original/ duplicate/
Command variabel terakhir yang dibahas di sini adalah -z (–compress). Command ini menggabungkan file yang ditransfer melalui jaringan. Sebagai bonus, saya akan menunjukkan cara memindahkan data darisource server satu ke source server lainnya. Command nya akan terlihat seperti ini:
rsync -za ~/Desktop/Original edward@192.168.22.90:~/tmp/
Seperti disebutkan di atas, -z meng-compress file, -a, atau hanya menambahkan a ke -z, akan menjamin semua permission tersalin.
~/Desktop/Original adalah sourcenya. Source tersebut adalah 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 dialamatkan, sedangkan :~/tmp/ menunjukkan folder spesifik pada perangkat tersebut.
Cara Menambahkan Progress Bar
Untuk menggabungkan opsi -progress dan -partial, tambahkan -P. Opsi ini akan menampilkan progress bar untuk file yang ditransfer dan memungkinkan Anda melanjutkan transfer file yang terputus.
rsync -azP [SRC] [DEST]
Hasilnya adalah sebagai berikut:
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 Anda menjalankan perintah itu lagi, hasil yang akan ditampilkan lebih sedikit. Ini karena tidak ada yang berubah. Hasilnya akan terlihat seperti berikut ini:
sending incremental file list send 26 bytes received 5 bytes 1200.00 bytes/sec total size is 0 speedup is 0.00
Jika Anda hanya ingin mentransfer file tertentu, jalankan perintah berikut:
touch original/file{1..5} rsync -azP [SRC] [DEST]
Hasilnya mungkin tidak akan jauh berbeda dari sebelumnya. Namun, satu-satunya file yang ditampilkan adalah file yang tercantum dalam kurung kurawal.
Cara Membuat Backup Rsync
Untuk membuat cadangan atau backup rsync, sertakan -backup dalam perintah -dir. Ini memungkinkan Anda menentukan lokasi penyimpanan file backup Anda.
rsync -a --delete --backup --backup-dir=/path/to/backup /path/to/SRC [DEST]