Makefile untuk sinkronisasi file menggunakan Rsync

January 19, 2012

1 min read.

Perlu sinkronisasi file? seperti file konfigurasi (konfigurasi cluster hadoop / hbase) atau dokumen. Rsync bisa digunakan untuk tugas ini.

Rsync memiliki beberapa kelebihan diantaranya mendukung kompressi, delta encoding (hanya diff / perbedaan yang dikirim), dan menggunakan ssh.

#
# Makefile for sync file using rsync
#
# Directory path is PARENTDIR + TARGETDIR
#

PARENTDIR = /tmp
TARGETDIR = /coba
REMOTEHOST = master

get:
rsync -avuz ${REMOTEHOST}:${PARENTDIR}${TARGETDIR} ${PARENTDIR}
put:
rsync -avuz ${PARENTDIR}${TARGETDIR} ${REMOTEHOST}:${PARENTDIR}

sync: get put


Dengan Makefile diatas sinkronisasi menjadi lebih mudah tinggal $ make get untuk sinkronisasi remote ke lokal, $ make put sinkronisasi lokal ke remote, dan $ make sync untuk sinkronisasi dua arah.