DEV Community

Fega Suseno
Fega Suseno

Posted on • Edited on

Sync Folder Using Rsync

Hai,
Pada postingan ini akan membahsa tentang syncronize folder atau file dengan rsync.
Rsync adalah sebuah software yang digunakan untuk melakukan sinkronisasi dan transfer data antara sistem komputer yang berbeda. Singkatnya, rsync memungkinkan untuk menyalin, memindahkan, atau menyinkronkan file dan direktori dari satu lokasi ke lokasi lain melalui jaringan lokal atau melalui SSH (biznetgio.com)

Langsung ke cara pemakaianaya

rsync -arv source destination
Enter fullscreen mode Exit fullscreen mode

Atau bila ingin melihat partial dan progressnya bisa tambahkan berikut

rsync -arvP source destination
Enter fullscreen mode Exit fullscreen mode

Berikut beberapa contoh penggunaanya:

rsync -arvP -e 'ssh -p 123'  root@10.10.10.1:/root/simulasi/ run/
Enter fullscreen mode Exit fullscreen mode

Jika ingin mengexclude file atau folder

rsync -avre 'ssh -p 123' --progress --exclude="folder29" root@10.10.10.1:/root/simulasi Migrasi/run 
Enter fullscreen mode Exit fullscreen mode

Jika ingin mengexclude beberapa folder bisa seperti berikut

rsync -avrPe 'ssh -p 123' --exclude={'folder2','folder5','folder35'} root@10.10.10.1:/root/simulasi Migrasi/run
Enter fullscreen mode Exit fullscreen mode

Cara di atas hanya work di bash, umumnya jika banyak exlude file atau folder bisa dengan begini

rsync -avrPe 'ssh -p 123' --exclude='folder2' --exclude='folder5' --exclude='folder35' root@10.10.10.1:/root/simulasi Migrasi/run
Enter fullscreen mode Exit fullscreen mode

Jika ingin menyalin hanya struktur folder bisa menggunakan filter seperti berikut

rsync -av -f"+ */" -f"- *" /sumber/ /tujuan/
Enter fullscreen mode Exit fullscreen mode

a → copy recursive + simpan atribut
v → tampilkan detail
f"+ */" → include semua folder
f"- *" → exclude semua file
/sumber/ → direktori asal (isinya)
/tujuan/ → direktori tujuan

Perintah dan filter di atas akan menyalin hanya strukturnya saja. Jika ingin menyalin semua tapi di filter kecuali folder ayam misal. Cukup tambahkan bagian filternya aja -f"- ayam/".

rsync -av -f"+ */" -f"- *" -f"- ayam/" /sumber/ /tujuan/
Enter fullscreen mode Exit fullscreen mode

semoga bermanfaat

Top comments (0)