Wednesday, August 6, 2008

Membagi dan Menggabungkan File Berukuran Besar Melalui Portal

Ukuran upload file terkadang dibatasi oleh proxy atau hal lain. Jika masalah ini terjadi, salah satu cara yang bisa dilakukan adalah dengan membagi file yang ingin di-upload menjadi beberapa bagian. Secara umum yang dilakukan adalah sebagai berikut:

* Membagi file pada komputer klien dan kemudian meng-uploadnya melalui portal
* Membuat script untuk menggabungkan file
* Menggabungkan kembali file yang sudah dibagi-bagi dengan menggunakan script yang baru saja dibuat



Membagi file dengan perintah ‘split’ dan kemudian meng-upload hasilnya ke portal

1.Cara mudah untuk membagi file dalam lingkungan UNIX adalah dengan menggunakan perintah ‘split’. Pada contoh berikut ini kita akan melakukan pembagian terhadap file berukuran 70mb dengan nama ‘dump.dat’. File dibagi dengan ukuran 20mb masing-masing. Nama file hasil dari pembagian akan memiliki pola ‘partxx’

split -b 20m dump.dat part

2.Login ke portal, kemudian klik tab “Data Manager”. Dari halaman ini upload file-file yang sudah terbagi ke server. Untuk mempermudah proses penggabungan file nantinya, sebaiknya file-file tersebut di-upload ke root directory home pengguna (misal: /export/home/xxx).

Membuat script untuk menggabungkan file

1.Untuk menggabungkan file yang sudah dibagi menggunakan perintah ‘split’ dapat dilakukan dengan menggunakan perintah ‘cat’. Namun sayangnya pemanggilan perintah ‘cat’ melalui portal inGRID tidak bisa disertai dengan simbol ‘>’ untuk redirect output. Oleh karena itu, kita harus membuat script yang bisa melakukan hal ini tanpa memasukkan simbol ‘>’ di portal. Berikut ini adalah contoh script sederhana yang dapat digunakan:

#!/bin/sh
if [ -e joined ]
then
rm joined
fi
while [ $# -gt 0 ]
do
cat $1 >> joined
shift
done

Script ini akan menggabungkan file-file yang dimasukkan sebagai parameter ke dalam sebuah file baru yang bernama “joined”.
2.Simpan script di atas dengan nama gabung.sh kemudian upload ke server melalui portal. Login ke portal, masuk ke halaman “Data Management” dan lakukan seperti ketika kita meng-upload file-file sebelumnya.
3.Ubah permission supaya script gabung.sh ini bisa kita panggil melalui portal. Masuk ke halaman “Data Management”. Pilih file gabung.sh, kemudian klik “Change Permissions”. Beri izin untuk “Execute” bagi “User”.

Menggabungkan kembali file-file yang sudah dibagi-bagi

1.Untuk menggabungkan file yang sudah dibagi-bagi, dapat dilakukan dengan cara mengeksekusi scrpit gabung.sh melalui portal. Masuk ke tab “Job Services”, klik halaman “Generic Jobs”. Kemudian masukkan detail sebagai berikut:

Job Name: gabung
Executables: gabung.sh
Arguments: partaa partab partac partad

Perhatikan bahwa nama executable pada contoh di atas tidak perlu ditambahkan absolute pathnya, karena secara default, direktori kerjanya adalah direktori home dari masing-masing pengguna. Sedangkan untuk arguments, yang dimasukkan adalah nama-nama file yang sudah dibagi sebelumnya.
2.Klik tombol submit, kemudian buka halaman “Job Status”. Perhatikan kondisi pekerjaan “gabung” yang baru saja di-submit. Jika sudah selesai (Done), maka dalam direktori home akan terdapat file baru bernama “joined” yang merupakan hasil gabungan dari file-file yang sudah dipecah sebelumnya.