Perintah rsync Linux: Opsi | Contoh Penggunaan

Pemberitahuan afiliasi Ver 3.1
Pemberitahuan afiliasi Ver 3.2 (khusus seluler)
Lingkungan ujiKeluarga RHELAlmaLinux 9.8akun rootDiperiksa 2026-10-07

Jika Anda menyalin ulang semuanya setiap kali untuk menyamakan folder di dua server, volume transfernya tetap sebesar ukuran keseluruhan meskipun hanya satu file yang berubah. Perintah rsync, singkatan dari remote sync, membandingkan sumber dan tujuan lalu hanya mengirim file yang berbeda, dan bekerja dengan cara yang sama baik antarfolder lokal maupun antarserver yang terhubung lewat SSH. Artikel ini merangkum penggunaan dasar, opsi, serta contoh dua metode koneksi, yaitu SSH dan daemon rsync.

Output dalam artikel ini berasal dari rsync 3.2.7 di AlmaLinux 9.8. Jika rsync belum terpasang, pasang dengan manajer paket.

# Keluarga RHEL
dnf -y install rsync
# Keluarga Debian
apt -y install rsync

✅ Cara Penggunaan Dasar

Penggunaan dasarnya adalah sebagai berikut.

rsync -opsi sumber tujuan

Seperti perintah cp, sumber ditulis lebih dulu, lalu tujuan di belakangnya. Jika garis miring [/] ditambahkan di akhir sumber, hanya isi folder yang masuk ke tujuan; tanpa garis miring, folder itu sendiri yang masuk.

~]# rsync -av www/ backup/
sending incremental file list
index.html
img/
img/logo.png
~]# rsync -av www backup/
sending incremental file list
www/
www/index.html
www/img/
www/img/logo.png

Jika perintah yang sama dijalankan lagi, daftar filenya kosong dan angka sent turun menjadi beberapa ratus byte. Ini karena file dengan ukuran dan waktu modifikasi yang sama dilewati.

~]# rsync -av www/ backup/
sending incremental file list

sent 166 bytes  received 13 bytes  358.00 bytes/sec
total size is 3,015  speedup is 16.84

Jika hanya memakai -r tanpa -a, waktu modifikasi tidak dipertahankan, sehingga file yang sama dikirim lagi pada eksekusi berikutnya. Saat menyinkronkan folder, selalu sertakan -a.

Opsi -n hanya menampilkan file yang akan berubah tanpa mentransfer apa pun, dan di akhir output muncul [(DRY RUN)]. Opsi yang menghapus file di tujuan, seperti -⁠-delete, diperiksa dulu dengan -n, baru kemudian dijalankan.

~]# rsync -avn --delete www/ backup/
sending incremental file list
deleting old.bak
index.html

sent 188 bytes  received 39 bytes  454.00 bytes/sec
total size is 3,013  speedup is 13.27 (DRY RUN)

✅ Opsi Perintah rsync & Simulator

OpsiPenjelasan
-a--archiveMenyalin hingga subdirektori serta mempertahankan izin·pemilik·waktu modifikasi·tautan simbolik (sama dengan -rlptgoD)
-v--verboseMenampilkan nama file yang ditransfer dan jumlah data yang ditransfer
-z--compressMengompresi data file selama transfer
-r--recursiveMenyalin hingga subdirektori (termasuk dalam -a)
-t--timesMempertahankan waktu modifikasi (termasuk dalam -a). Ini yang menjadi patokan file mana yang dilewati pada eksekusi berikutnya
-n--dry-runHanya menampilkan file yang akan berubah tanpa transfer, dan menandai bagian akhir dengan (DRY RUN)
-u--updateMelewati file yang lebih baru di sisi tujuan
-h--human-readableMenampilkan jumlah byte dalam satuan K·M·G
-PSama dengan --partial --progress. Menampilkan progres setiap file dan melanjutkan transfer yang terputus
-i--itemize-changesMenampilkan perubahan pada setiap file dalam bentuk simbol>f+++++++++ file baru · >f.st.⁠.⁠.⁠.⁠.⁠. ukuran·waktu berubah · *deleting dihapus
-e--rsh=COMMANDMenentukan shell remote-e 'ssh -p 2222 -i /root/.ssh/key.pem'
--deleteMenghapus file di tujuan yang tidak ada di sumber (perlu -r atau -a)
--exclude=PATTERNMengecualikan file·direktori yang cocok dengan pola--exclude '*.tmp' --exclude 'cache/'
--include=PATTERNDitaruh sebelum --exclude agar hanya pola itu yang dikeluarkan dari pengecualian
--max-size=SIZETidak mentransfer file yang lebih besar dari ukuran yang ditentukan (--min-size untuk file kecil)--max-size=3M --min-size=10k
--bwlimit=RATEMembatasi kecepatan transfer, dalam satuan KiB/s
--statsMenampilkan statistik jumlah file·volume transfer
Simulator Perintah rsyncrsync 3.2.7
[root@server work]#
Simulator ini hanya berjalan di dalam browser dan tidak menyentuh file sungguhan. Folder www adalah sumber dan folder backup adalah backup sebelumnya; ketik rsync dengan berbagai opsi, lalu periksa hasilnya dengan ll, cat, dan diff. Alamat remote (user@host:jalur) hanya diterima formatnya, tanpa benar-benar terhubung. Perubahan akan kembali seperti semula jika Anda mengklik [Start over]. Gunakan tombol ↑↓ pada keyboard untuk memanggil kembali perintah sebelumnya, dan ketik uknew help untuk melihat perintah yang tersedia.

✅ Metode Koneksi: SSH dan Daemon rsync

Ada dua metode koneksi untuk sinkronisasi dengan server remote. Satu titik dua [:] setelah host berarti lewat SSH, sedangkan dua titik dua [::] terhubung langsung ke daemon rsync di port 873.

KategoriMetode SSH (:)Metode daemon rsync (::)
Format koneksirsync -opsi user@host:/jalur /jalur/lokalrsync -opsi host::modul/jalur /jalur/lokal
PortPort SSH (default 22)873
EnkripsiDienkripsi oleh SSHTanpa enkripsi
AutentikasiKunci SSH atau kata sandihosts allow di rsyncd.conf; akun·kata sandi bersifat opsional
Pengaturan di sisi serverTidak ada (langsung bisa dipakai asalkan akses SSH berfungsi)Pasang rsync-daemon, /etc/rsyncd.conf, buka port 873
KegunaanBackup·deployment antarserver (pilihan default)Mirroring di jaringan internal tanpa memberikan akun SSH

🔲 Metode SSH

Jika server bisa diakses lewat SSH, metode ini langsung bisa dipakai tanpa pengaturan di sisi server. Jika port-nya berbeda atau Anda memakai file kunci, masukkan perintah ssh apa adanya ke opsi -e.

# lokal → remote
rsync -avz /home/2server_data/ root@192.168.45.239:/home/1server_data/
# remote → lokal
rsync -avz root@192.168.45.239:/home/1server_data/html_Remote /home/2server_data
# Tentukan port SSH·file kunci
rsync -avz -e 'ssh -p 2222 -i /root/.ssh/key.pem' root@192.168.45.239:/home/1server_data/ /home/2server_data
Perintah rsync: hasil eksekusi dari remote ke lokal

Untuk mengecualikan file atau direktori tertentu, tambahkan -⁠-exclude satu kali untuk setiap pola, atau kelompokkan pola dalam kurung kurawal lalu tulis sekaligus.

rsync -avz --exclude 'html_Remote_Excertion' --exclude 'Exception_File' root@192.168.45.239:/home/1server_data/ /home/2server_data
rsync -avz --exclude={'html_Remote_excertion/*','Exception_File'} root@192.168.45.239:/home/1server_data/ /home/2server_data
Perintah rsync: dari remote ke lokal, mengecualikan file dan direktori tertentu

🔲 Metode Daemon rsync

Daemon rsync mengizinkan akses per modul lewat port 873 tanpa akun SSH, dan karena komunikasinya tidak dienkripsi, daemon ini dipakai antarserver di jaringan internal yang sama.

Di AlmaLinux 9, pasang paket rsync-daemon lalu aktifkan layanannya. Pada server yang memakai firewalld, buka port 873; pada server cloud, buka port itu di firewall konsol. Metode xinetd yang dipakai di RHEL 8 ke bawah sudah tidak ada lagi di versi 9.

dnf -y install rsync-daemon
systemctl enable --now rsyncd
firewall-cmd --permanent --add-port=873/tcp
firewall-cmd --reload

Di file konfigurasi [/etc/rsyncd.conf], tuliskan nama modul, jalurnya, dan host yang diizinkan. Jika read only diatur ke yes, sisi remote hanya bisa mengambil data.

[myhome]
path = /home
uid = root
gid = root
use chroot = yes
read only = yes
hosts allow = 192.168.45.182
max connections = 3
timeout = 30

Dari sisi remote, jika setelah host hanya ditulis dua titik dua, yang muncul adalah daftar modul; jika nama modul juga ditulis, yang muncul adalah daftar file di dalamnya.

~]# rsync 192.168.45.239::
myhome
home
~]# rsync 192.168.45.239::myhome
drwxr-xr-x          4,096 2025/06/12 22:14:39 .
drwxr-xr-x          4,096 2025/06/12 22:21:10 1server_data
drwxr-xr-x          4,096 2025/06/12 22:14:39 2server_data

Penyalinan memakai format [host::modul/jalur]. -⁠-delete menghapus file di tujuan yang tidak ada di sumber, dan -⁠-include hanya mengeluarkan item yang ditaruh sebelum -⁠-exclude dari pengecualian.

~]# rsync -avz 192.168.45.239::myhome/1server_data/ /home/2server_data/
receiving incremental file list
./
Exception_File
html_Remote/
html_Remote_Excertion/

sent 58 bytes  received 332 bytes  780.00 bytes/sec
total size is 442  speedup is 1.13
~]# rsync -avz --delete 192.168.45.239::myhome/1server_data/ /home/2server_data/
~]# rsync -avz --include '*.html' --exclude 'exclude.txt' 192.168.45.239::myhome/1server_data/ /home/2server_data/
Perintah rsync: dari remote ke lokal dengan opsi delete
Perintah rsync: dari remote ke lokal dengan opsi delete, include, dan exclude

Di server yang mengaktifkan SELinux, akses ke jalur modul bisa terblokir dengan [Permission denied (13)]. Dalam pengujian, akses berhasil setelah SELinux dimatikan dengan [setenforce 0].

~]# rsync -avz 192.168.45.239::myhome/1server_data/ /home/2server_data/
receiving incremental file list
rsync: change_dir "/1server_data" (in myhome) failed: Permission denied (13)
sent 8 bytes  received 90 bytes  65.33 bytes/sec
total size is 0  speedup is 0.00
rsync error: some files/attrs were not transferred (see Sebelumnya errors) (code 23) at main.c(1658) [Receiver=3.1.2]

-⁠-bwlimit membatasi kecepatan transfer dalam satuan KiB/s, dan jika -P ditambahkan, progres setiap file ikut terlihat. -⁠-max-size dan -⁠-min-size hanya mentransfer file dalam rentang ukuran yang ditentukan.

rsync -avzP --bwlimit=100 192.168.45.239::myhome/1server_data/ /home/2server_data/
rsync -avz --max-size='3M' --min-size='10k' 192.168.45.239::myhome/1server_data/ /home/2server_data/
Perintah rsync: dari remote ke lokal, bandwidth dibatasi 100kb dan progres dicek dengan opsi -P

ℹ️ Pemberitahuan Afiliasi
Konten di situs ini berisi tautan afiliasi. Jika pengunjung membeli produk atau layanan melalui tautan tersebut, situs ini menerima komisi dari penjual. Harga yang dibayar pembeli(turun saat ada diskon promo ↓), tidak naik karena hal ini. Harga, diskon, dan informasi stok yang ditampilkan berlaku pada saat penulisan dan bisa berbeda dengan kondisi sebenarnya, jadi pastikan kembali di situs penjual sebelum membeli. Pemilihan dan penilaian produk dibuat berdasarkan standar kami sendiri, dan ada tidaknya komisi tidak memengaruhi urutan maupun isi penilaian.

Tinggalkan Balasan

Alamat email Anda tidak akan dipublikasikan. Ruas yang wajib ditandai *

Buktikan bahwa Anda manusia: 3   +   3   =