Memindahkan Data Menggunakan rsync

_Screenshot from 2018-08-10 09-48-10
Proses rsync

Dalam kegiatan pekerjaan sehari-hari adakalanya karena satu dan lain hal kita harus berganti atau mengganti komputer.

Beberapa hari yang lalu, komputer yang saya pakai tiba-tiba mengalami masalah pada power supply sehingga tidak mau dinyalakan. Solusinya diganti menggunakan komputer lain.

Untuk keperluan ini maka kita setidaknya perlu melakukan 2 hal:

  • Membackup dan memindahkan data
  • Mensetup komputer baru sesuai dengan kebutuhan dan kebiasaan

Di artikel ini saya akan membahas yang pertama yaitu membackup dan memindahkan data di/dari/ke komputer dengan sistem operasi Linux (Ubuntu Gnome).

Untuk data yang tidak seberapa banyak maka cukup diperlukan copy-paste. Bagaimana bila datanya berpuluh-puluh giga?

Bila data yang akan kita pindahkan mencapai puluahm giga atau lebih kita perlu cara yang praktis dan memudahkan kita. Pastinya memakan waktu lama, perlu di-stop terlebih dahulu dan kemudian di-resume kembali, dan seterusnya.

Tool atau utilitas yang saya gunakan di Linux adalah rsync. Rsync adalah perintah baris (command line) sehingga dijalankan melalui terminal.

Perintah rsync dapat digunakan untuk memindahkan data di dalam komputer lokal, misal dari eksternal hard disk ke internal hard disk, atau data di lokal ke host lain melalui jaringan atau LAN.

Perintah rsync (dari manual):

Local:  rsync [OPTION...] SRC... [DEST]

Access via remote shell:
Pull: rsync [OPTION...] [USER@]HOST:SRC... [DEST]
Push: rsync [OPTION...] SRC... [USER@]HOST:DEST

Access via rsync daemon:
Pull: rsync [OPTION...] [USER@]HOST::SRC... [DEST]
rsync [OPTION...] rsync://[USER@]HOST[:PORT]/SRC... [DEST]
Push: rsync [OPTION...] SRC... [USER@]HOST::DEST
rsync [OPTION...] SRC... rsync://[USER@]HOST[:PORT]/DEST

Jadi, format perintahnya adalah:

$ rsync [OPSI...] SUMBER... [TUJUAN]

Untuk kebutuhan saya, yang saya lakukan adalah (melalui remote shell atau ssh):

Pull

$ rsync -azP --no-links --exclude=".*" --exclude=".*/" username@[IP ADDRESS]:/path/ke/dir/sumber /path/ke/dir/tujuan

Push

$ rsync -azP --no-links --exclude=".*" --exclude=".*/" /path/ke/dir/sumber username@[IP ADDRESS]:/path/ke/dir/tujuan

Selanjutnya host remote akan meminta password dan rsync akan memproses.

Keterangan Opsi:

-a untuk archive mode
-z untuk menkompress data pada saat transfer
-P (P besar) untuk memperlihatkan progress pada saat transfer
--no-links untuk tidak mentransfer file atau direktori yang berupa symbolic link (file atau direktori yang sebetulnya ada di lokasi lain)
--exlcude=".*" untuk tidak mentransfer file yang disembunyikan (nama file diawali tanda titik)
--exclude=".*/" untuk tidak mentransfer direktori yang disembunyikan (nama direktori diawali tanda titik)

Untuk menstop paksa gunakan Ctrl+C. Untuk melanjutkan ulangi perintah yang sama. Rsync akan memeriksa keseluruhan proses yang sudah dilakukan, dan kemudian melanjutkannya.

Kita tidak perlu diminta memilih men-skip atau menimpa file yang sudah dikopi sebelumnya. Rsync sudah melakukannya untuk Anda dan melanjutkan apabila ada file yang terpotong di tengah-tengah pada saat transfer terhenti.

Oya, rsync biasanya sudah tersedia di berbagai OS Linux. Jadi Anda tidak usah menginstalnya terlebih dahulu.

Untuk mensetup, akan saya bagi di artikel selanjutnya. Demikian, mudah-mudahan ada manfaatnya.

Widianto Nugroho
widiantonugroho.com

Author: Widianto Nugroho

Widianto is part time visual artist[1] previously worked with computation / programming media to create software artworks[2]. After graduated with art degree (ceramics major) from the oldest engineering school in Indonesia, Widianto works in IT-related field for more than 10 years. 1. http://widiantonugroho.com 2. http://en.wikipedia.org/wiki/Software_art

One thought on “Memindahkan Data Menggunakan rsync”

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s