Imam Ferianto Blogs

sekedar catatan kecil saja

Seringkali kita membutuhkan melakukan copy data antar server dalam jaringan berikut adalah tips perintah untuk melakukan copy file secara cepat menggunakan bantuan netcat. Mengapa lebih cepat? karena langsung menggunakan direct socket dan kompresi sehingga overhead jaringan bisa diminimalisir.

 

studycase dengan perintah dibawah ini, mengcopy file 22Gb dari singapore ke jakarta membutuhkan waktu 49:09 menit dengan kecepatan throuput pada  [ 6.5MiB/s]

#di server source file:      
tar -zcf - /var/www/html | pv | nc -l -p 5555 -q 5

#di server target : 
cd / ; nc 127.x.x.x  5555 | pv | tar -zxf -

Penambahan perintah pv pada pipeline diatas adalah untuk memberikan progressbar berapa banyak data dan kecepatan transfer data yang dilakukan oleh netcat.

selain itu perintah netcat juga dapat digunakan untuk melakukan direct backup hardisk (clone disk) melalui jaringan. perintahnya sebagai berikut pada server sumber :

dd if=/dev/sda | gzip | pv | ssh root@targetserver 'gzip -d | dd of=/dev/sdd

atau jika akan menyimpan ke file backuo images

dd if=/dev/sda | gzip -1 - | pv | ssh user@targetserver dd of=image.gz

/dev/sda adalah hardisk yang hendak di clone pada server sumber,  /dev/sdd adalah hardisk yang dipasang pada server tujuan untuk target cloning.

selain cara diatas bisa juga menggunakan rsync , rsync akan melakukan skip jika file sudah ada

rsync -aHAX source dest # Linux
rsync -aHE source dest  # OS X

#contohnya untuk copy folder upload ke server 10.1

rsync -aHAX upload [email protected]:/var/www/.