Selasa, 19 Mei 2015

Perintah rsync pada linux

 

Rsync adalah tool untuk transfer dan sinkronisasi file atau tree (struktur direktori dan file) secara satu arah, baik transfer lokal (di sistem yang sama) maupun remote (jaringan/internet). Fungsi rsync mirip/identik dengan tool-tool ini: cp, mv, scp, FTP client. Rsync biasanya digabungkan dengan SSH sebagai metode transpor remotenya, walaupun dapat juga disetup untuk menjadi daemon sehingga tidak membutuhkan SSH. Dalam kasus-kasus tertentu rsync juga dapat digunakan menggantikan HTTP client (seperti wget)

sintaks dasarnya
1
rsync  -av PATHSUMBER/ PATHTUJUAN/

Menghapus berkas di /tujuan/ yang tidak ada di /sumber/ gunakan:
1
rsync -av --delete /PATHSUMBER/ /PATHTUJUAN/

Jika penghapusan hanya boleh setelah penyalinan sukses:
1
rsync -av --delete --delete-after /PATHSUMBER/ /PATHTUJUAN/

jika ada file yang tidak ingin di copy
1
rsync -av --exclude 'namafile.txt' /PATHSUMBER/ /PATHTUJUAN/

Untuk transfer lokal ke lokal
1
rsync -av -P PATHSUMBER PATHTUJUAN

Untuk transfer lokal ke remote melalui ssh
1
rsync -e ssh -av -P -z PATHSUMBER USER@HOST:PATHTUJUAN

Untuk transfer remote ke lokal melalui ssh, cukup kebalikan perintah sebelumnya:
1
rsync -e ssh -av -P -z USER@HOST:PATHSUMBER PATHTUJUAN
 opsi lainnya

a: (archive) adalah untuk mensinkronkan segala sesuatu, termasuk file/direktori secara rekursif dan metadata (seperti tanggal, kepemilikan, permission) dan file-file spesial seperti link simbolik
v: (verbose) memperlihatkan ke layar nama-nama file yang sedang ditransfer
z : (zip) membuat rsync mengkompresi data yang ditransfer
P:  selain memperlihatkan ke layar nama-nama file yang sedang ditransfer  juga menampilkan progres/persentasi saat sebuah file sedang ditransfer.
–version : melihat versi rsync

Jika kita menggunakan rsync dalam skrip noninteraktif, bisa jadi output yang dihasilkan terlalu banyak. Maka dalam kasus tersebut kita dapat menghilangkan opsi -v dan -P.

Akhiran garis miring

Keberadaan garis miring di akhir path sumber berarti menghindari pembentukan level direktori tambahan
misalnya
rsync  -av /home/user/tempatnya/ /home/userhasil/backup/
maka file hasil akan tercopy di /home/userhasil/backup/

tapi jika garis miring tidak ditambah diakhir skrip sumber akibatnya terjadi pembuatan direktory
misalnya
rsync  -av /home/user/tempatnya /home/userhasil/backup/
maka akan terbentuk file hasil akan tercopy di /home/userhasil/backup/tempatnya 
(terbentuk direktori bernama tempatnya yang berisi file file hasil sinkronisasi)
 
Keunggulan Rsync :

Hemat bandwidth dan Mendukung Resume. Jika di sisi penerima, file yang ingin dikirimkan sudah ada, tapi belum tentu sama (misalnya ukurannya lebih kecil/besar atau terdapat perbedaan karena versinya lebih lama), maka rsync dapat melakukan serangkaian pengecekan perbandingan checksum terhadap blok-blok dalam file di kedua sisi, untuk meminimalisasi jumlah data yang harus ditransfer. Algoritma ini disebut algoritma rsync. Bahkan sebetulnya rsync bermula dari sebuah paper yang menjelaskan algoritma ini.Jadi, misalnya Anda memiliki 2 buah versi file berukuran kurang lebih 100MB di dua tempat, dengan rsync Anda mungkin Anda hanya membutuhkan transfer data sebesar 50MB, 10MB, atau bahkan di bawah 1MB untuk menyamakan kedua buah versi file ini, bergantung pada seberapa mirip kedua file tersebut sebelumnya.Atau, misalnya Anda sedang mentransfer file besar lalu putus di tengah jalan. Anda dapat menjalankan kembali rsync dan rsync akan melanjutkan kembali transfer dari posisi putus dan memastikan hasil akhirnya nanti sama.

Cepat. Rsync cepat salah satunya karena algoritma rsync yang disebutkan di atas. Selain itu rsync dapat melakukan kompresi data saat transfer. Dibandingkan FTP pun rsync lebih cepat karena dapat melakukan pipelining, sementara transfer menggunakan FTP boros koneksi TCP/IP untuk setiap file yang ditransfer. Ini akan semakin kentara untuk tree berisi file kecil-kecil yang jumlahnya banyak (misalnya file-file website yang umumnya berisi banyak file HTML dan gambar), di mana rsync dapat beberapa kali hingga belasan kali lebih cepat dari FTP.

Fleksibel. Rsync tidak hanya bisa mentransfer file tunggal, tapi juga direktori dan tree secara rekursif. Anda bisa memilih untuk menghapus file/direktori yang sudah tidak ada dari sisi pengirim tapi masih ada di sisi penerima. Anda juga bisa memilih untuk melakukan proses sinkronisasi  metadata file seperti permission, kepemilikan, tanggal, ACL, dll. Rsync dapat menangani link simbolik, hardlink, device, dll. Selain opsi tersebut, masih banyak opsi lainnya, termasuk yang sering juga dijumpai di tool lain seperti tar, cp, dll.
 
 
 

Keterbatasan rsync

Meskipun merupakan swiss-army knife dalam urusan transfer dan sinkronisasi tree, namun rsync tidaklah sempurna. Dua kelemahan utama rsync adalah sifat sinkronisasi yang 1 arah dan lambat jika ukuran tree sudah terlalu besar.

Hanya 1 arah. Sinkronisasi rsync hanya bersifat satu arah, dari pengirim (P1) ke penerima (P2). Jika misalnya baik tree di P1 maupun di P2 berubah secara independen oleh pihak ketiga, lalu P1 dan P2 ingin bertukar perubahan secara 2 arah, maka rsync tidak dapat digunakan. Ada opsi -u untuk melewati file-file di P2 yang lebih baru daripada P1, Anda bisa menggunakan opsi ini pada kasus-kasus tertentu, tapi secara umum, untuk melakukan sinkronisasi 2 arah, sebaiknya digunakan tool lain seperti unison (atau mungkin Anda butuh tool version control seperti subversion atau git).

Lambat untuk tree superbesar. Cara kerja rsync adalah dengan mula-mula membangun daftar file lengkap baik di sisi pengirim maupun penerima untuk kemudian dibandingkan. Untuk tree yang sudah amat besar proses ini akan memakan waktu dan juga memori amat besar. Misalnya direktori backup lokal di beberapa server shared hosting di tempat kerja saya yang isinya lebih dari 20 juta file, karena berisi histori backup menggunakan hardlink. Meng-rsync tree ini sekaligus membuat proses rsync memakan memori lebih dari 2-3GB untuk menyusun daftar file, sehingga menghabiskan memori dan mengganggu proses lain.
Kebutuhan memori dalam pembangunan daftar file lengkap di awal proses rsync ini juga membuat para penyedia situs mirror agak enggan menyediakan layanan via rsync. Atau setidaknya membatasi jumlah koneksi simultan rsync, misalnya hanya 1-5.
Diharapkan revisi program dan/atau algoritma rsync berikutnya dapat membuat inovasi dalam hal sinkronisasi tree superbesar, misalnya dengan membentuk daftar file secara paralel atau sambil jalan.
 

 

Kamis, 07 Mei 2015

Jumlah Koperasi Aktif Menurut Provinsi, 2006-2013

Visualisasi Informasi adalah suatu metode penggunaan komputer untuk menemukan metode terbaik dalam menampilkan data untuk mengingat informasi dengan cara penerimaan alami manusia serta memberikan cara untuk melihat data yang sulit dilihat dengan pemikiran sehingga peneliti bisa mengamati simulasi dan komputasi, juga memperkaya proses penemuan ilmiah dan mengembangkan pemahaman yang lebih dalam dan tak diduga, salah satu contohnya adalah dengan menampilkan data/informasi dalam bentuk gambar. Contoh, struktur tree dan grafik.
Tujuan visualisasi informasi:
• Mengeksplor
• Menghitung
• Menyampaikan

Visualisasi Informasi ini dapat di akses pada di, infogr.am. Berikut linknya:


https://infogr.am/jumlah_koperasi_aktif_menurut_provinsi_2006_2013

Semua visualisasi yang saya kerjakan di atas berasal dari data "Jumlah Koperasi Aktif Menurut Provinsi, 2006-2013" pada website “Badan Pusat Statistik.
Serta tools yang saya gunakan adalah infogr.am
 
Sumber Data: http://bps.go.id/index.php/linkTabelStatis/1314