Perintah Rsync (sinkronisasi jarak jauh) adalah utilitas Linux/Unix yang digunakan untuk menyinkronkan dan menyalin file dan direktori baik secara lokal maupun jarak jauh. Sebagian besar geeks Linux menggunakan Rsync untuk mencerminkan, mencadangkan, atau memigrasikan data di seluruh folder, di seluruh disk, dan jaringan. Salah satu fitur penting dengan perintah Rsync adalah ia menggunakan "algoritma transfer delta".”
Algoritma Delta Transfer bekerja dengan memperbarui direktori tujuan dengan isi tujuan sumber. Jika perubahan atau file baru dibuat di direktori sumber, hanya perubahan tertentu yang akan disalin ke direktori tujuan saat Anda menjalankan perintah Rsync. Untuk menyinkronkan file dan direktori antara mesin lokal dan remote, Rsync menggunakan SSH.
Menginstal Rsync di Linux
Perintah Rsync sudah diinstal sebelumnya di sebagian besar sistem operasi Linux. Namun, ini mungkin tidak berlaku untuk beberapa instalasi minimal. Anda dapat menginstal Rsync dengan menjalankan perintah di bawah ini di terminal.
Di CentOS & RHEL
yum instal rsync -y
Di Ubuntu dan distribusi Debian lainnya other
sudo apt install rsync -y
Sintaks dasar Rsync
rsync pilihan sumber tujuan
Beberapa opsi/parameter standar yang digunakan dengan perintah Rsync:
-v: -verbose Verbose keluaran
-r: menyalin data secara rekursif
-z: kompres data file
-h: Memberikan output dalam format yang Dapat Dibaca Manusia
-a: arsipkan file dan direktori saat menyinkronkan
-kemajuan Menunjukkan kemajuan tugas Rsync yang sedang berjalan.
Anda dapat melihat semua opsi yang tersedia untuk perintah Rsync menggunakan opsi “-help”.
$ rsync --bantuan
20 Contoh Rsync Teratas di Linux
Dengan mengingat informasi mendetail itu, mari kita mulai dengan 20 contoh perintah Rsync yang berguna yang dapat Anda gunakan dengan sistem Linux. Sistem operasi pilihan kami adalah Ubuntu 20.04 LTS; namun, sintaksnya juga harus berfungsi untuk distribusi Linux lain yang menginstal Rsync.
1. Salin/Sinkronkan file secara lokal dengan opsi -v (verbose)
Itu adalah perintah Rsync paling dasar, bahkan untuk pemula. Dalam contoh ini, kami akan menyalin file antara 'Asli' direktori di Desktop ke 'Cadangan' direktori di '/etc.' map. Kami akan menyertakan opsi -v (Verbose) sehingga rsync dapat memberikan informasi tentang apa yang sedang terjadi.
rsync -v Asli/
Satu hal yang perlu diperhatikan dengan Rsync adalah, jika direktori tujuan tidak ada, maka secara otomatis akan membuatnya. Mari kita lihat contoh di bawah ini di mana kita ingin menyalin file ke direktori “Foss“itu tidak ada.
2. Sinkronkan/Salin file dan direktori secara rekursif dengan opsi -r
Pada perintah di atas, Jika ada direktori yang ada di 'Asli' folder, itu akan dilewati. Itu diilustrasikan pada gambar di bawah ini.
Untuk mengatasinya, gunakan opsi -r (rekursif).
3. Sinkronkan/Salin file antara mesin lokal dan mesin jarak jauh
Sebelum melakukan tugas ini, ada beberapa parameter yang perlu Anda ketahui tentang server/mesin jarak jauh: alamat IP, nama pengguna, dan kata sandi pengguna.
Sintaks dasar yang akan kita gunakan adalah:
rsync [opsi] [file] [nama pengguna jarak jauh]@[alamat ip]:/[tujuan]
Mari salin file dari 'Asli' direktori di Desktop ke server jauh.
4. Sinkronkan/Salin file dan direktori dari server jauh ke PC lokal Anda
Sama seperti perintah sebelumnya, kita perlu mengetahui alamat IP dari server jarak jauh. Dalam contoh ini, kami akan menyinkronkan file di 'Cadangan' di direktori home server ke PC Lokal kami.
rsync -rv [email protected]:/home/tuts/Backup /home/tuts/Desktop/Asli
5. Gunakan Rsync melalui SSH dengan opsi -e
Untuk memastikan keamanan file dan folder, kami akan menggunakan Rsync over Secure Shell Protocol (SSH). Selain itu, saat memberikan kata sandi root/pengguna - SSH akan menyediakan layanan enkripsi, memastikan bahwa mereka aman.
Untuk menggunakan SSH, kita akan menambahkan opsi -e yang menentukan protokol yang ingin kita gunakan.
rsync -vre ssh Asli/* [email protected]:/rumah/tuts
6. Tampilkan kemajuan dengan perintah Rsync
Dalam situasi di mana Anda menyalin banyak file atau file besar, mengetahui kemajuannya akan efisien. Untungnya, rsync memiliki ketentuan opsi ini -the '-kemajuan' pilihan.
sudo rsync -rv --progress Asli/* /etc/Foss
7. Gunakan Rsync dengan opsi '-include'
Ada situasi di mana Anda hanya ingin menyinkronkan file tertentu. Dengan perintah Rsync, Anda menyebabkan '-termasuk' pilihan untuk melaksanakan tugas. Dalam contoh ini, kami hanya akan menyinkronkan file yang dimulai dengan huruf 'I'.
sudo rsync -vr --include 'I*' Original/ /etc/Backup/
8. Gunakan Rsync dengan opsi '-exclude' untuk mengabaikan file tertentu
Dengan Rsync '-mengecualikan', Anda dapat mengecualikan file yang tidak ingin Anda sinkronkan/salin. Dalam contoh ini, kami ingin mengabaikan semua file yang dimulai dengan huruf 'I'.
sudo rsync -vr --exclude 'I*' Original/ /etc/Backup/
Atau, Anda dapat menggunakan kedua opsi dalam satu perintah. Lihat contoh di bawah ini.
sudo rsync -vr --exclude '*' --include 'I*' Original/ /etc/Backup/
Kami mengecualikan semua file selain yang dimulai dengan huruf 'I.'
9. Gunakan Rsync dengan perintah -delete
Ada situasi di mana ada file yang ada di direktori tujuan, tetapi tidak di folder sumber. Untuk sinkronisasi, sebaiknya hapus dulu file tersebut dari direktori tujuan. Untungnya, Rsync hadir dengan '-menghapus', yang melakukan ini secara otomatis.
Jika file ada di direktori tujuan tetapi tidak ada di sumbernya, itu akan menghapusnya.
rsync -vr --hapus /etc/Backup/ [email protected]:/home/tuts/Backup
10. Atur Ukuran Maksimum File yang akan ditransfer dengan Rsync
Jika Anda khawatir dengan ruang penyimpanan atau bandwidth untuk sinkronisasi file jarak jauh, Anda perlu menggunakan opsi '-max-size' dengan perintah Rsync. Opsi ini memungkinkan Anda untuk mengatur ukuran maksimum file yang dapat disalin.
Misalnya, '-ukuran maks = 100k' hanya akan mentransfer data yang sama dengan atau lebih kecil dari 100 kilobyte.
rsync -vr --max-size='200k' /etc/Backup/ [email protected]:/home/tuts/Backup
11. Hapus file sumber secara otomatis setelah transfer berhasil
Ambil situasi di mana Anda memiliki server cadangan jarak jauh dan direktori cadangan di PC Anda. Anda mencadangkan data ke folder cadangan di PC Anda sebelum menyinkronkannya dengan server Cadangan. Setelah setiap sinkronisasi, Anda harus menghapus data di direktori cadangan.
Untungnya, Anda dapat melakukannya secara otomatis dengan '--hapus-sumber-file' pilihan.
Dengan menjalankan perintah 'ls' pada folder sumber, kami mengonfirmasi bahwa memang file tersebut telah dihapus.
12. Lakukan dry-run dengan Rsync
Untuk pemula yang tidak yakin dengan perintah Rsync, Anda dapat mengacaukan isi direktori tujuan Anda, dan membatalkannya bisa sangat membosankan. Dengan '-lari kering', perintah Rsync akan memberi Anda output dari apa yang akan dilakukan, tetapi tidak akan melakukannya.
Oleh karena itu, Anda dapat melihat output ini jika itu yang Anda harapkan sebelum menghapus '-lari kering' pilihan.
rsync -vr --dry-run Asli/* [email protected]:/home/tuts/Backup
13. Tetapkan Batas Bandwidth yang diperlukan untuk Mentransfer file.
Jika Anda berada di jaringan bersama atau menjalankan beberapa program yang membutuhkan koneksi internet, akan lebih efisien untuk menetapkan batas bandwidth yang diperlukan untuk menyinkronkan/menyalin file dari jarak jauh. Kita bisa melakukan ini dengan Rsync '-batas bawah' pilihan.
Tingkat ini dihitung dalam kilobyte. Oleh karena itu, ketika '-batas batas = 1000' berarti hanya 1000Kb yang dapat ditransfer per detik.
rsync -vr --bwlimit=1000 Asli/* [email protected]:/home/tuts/Backup
14. Sinkronkan seluruh file dengan Rsync
Secara default, Rsync hanya menyinkronkan blok dan byte yang dimodifikasi. Oleh karena itu, jika Anda telah menyinkronkan file teks sebelum dan kemudian menambahkan beberapa teks ke file sumber saat Anda menyinkronkan, hanya teks yang disisipkan yang akan disalin. Jika Anda ingin menyinkronkan seluruh file lagi, Anda harus menggunakan opsi '-W'.
rsync -vrW Asli/* [email protected]:/home/tuts/Backup
15. Jangan Sinkronkan/Salin file yang Dimodifikasi di direktori tujuan
Ada situasi di mana Anda telah membuat modifikasi pada file yang ada di folder tujuan. Jika Anda menjalankan perintah Rsync, modifikasi ini akan ditimpa oleh yang ada di file sumber source. Untuk menghindarinya, gunakan opsi '-u'.
rsync -vu Asli/* [email protected]:/home/tuts/Backup
16. Gunakan opsi Rsync dengan -i untuk melihat perbedaan file antara sumber dan tujuan
Jika Anda ingin mengetahui perubahan baru apa yang akan dilakukan pada direktori tujuan, gunakan opsi '-i', yang akan menunjukkan perbedaan file antara direktori sumber dan tujuan.
rsync -avzi Asli/ Cadangan/
Bentuk output pada gambar di atas, dan kita melihat file bernama 'halo.py' tidak ada di direktori tujuan. Mari kita lihat beberapa parameter ini.
d: menunjukkan perubahan pada file tujuan
f: mewakili file
t: menunjukkan perubahan cap waktu
s: menunjukkan perubahan ukuran file
17. Gunakan Rsync untuk Menyalin Struktur Direktori saja
Anda dapat menggunakan Rsync untuk menyinkronkan hanya struktur direktori jika Anda tidak tertarik dengan file. Kita perlu menggunakan parameter -f”+ */” -f”- *” sebelum direktori sumber.
rsync -av -f"+ */" -f"- *" /home/tuts/Desktop/Original/ /home/tuts/Documents/
18. Tambahkan Cap Tanggal ke Nama Direktori
Jika Anda ingin melacak kapan transfer terjadi tanpa membuka properti direktori, Anda dapat dengan mudah menambahkan tanggal ke nama direktori. Itu akan menambahkan cap tanggal ke semua sinkronisasi yang Anda lakukan dengan Rsync.
Untuk melakukannya, kami akan menambahkan $(tanggal +\\%Y-\\%m-\\%d) ke direktori tujuan.
sudo rsync -rv Asli/ /etc/$(tanggal +\\%Y-\\%m-\\%d)
19. Salin satu file secara lokal
Untuk menyinkronkan/menyalin satu file dengan Rsync, Anda perlu menentukan jalur file diikuti dengan jalur direktori tujuan destination.
rsync -v Asli/heloo.py Cadangan/
20. Menyalin banyak file dari jarak jauh
Untuk menyalin banyak file secara bersamaan, Anda harus menyediakan jalur ke semuanya. Metode ini efisien hanya untuk sejumlah kecil file.
rsync -vr /home/tuts/Desktop/Original/heloo.py /home/tuts/Desktop/Backup/index.html [email protected]:/home/tuts/Backup
Itu semua tentang 20 contoh Rsync berguna yang memungkinkan Anda untuk menyinkronkan file dan direktori baik secara lokal maupun jarak jauh. Jangan ragu untuk meninggalkan umpan balik dan komentar Anda di bawah ini.