Beberapa hari yang lalu, saya dan team Zaidan melakukan migrasi email server pada salah satu klien. Proses yang dilakukan adalah rebuild sistem baru tanpa mengganggu sistem production. Ketika sistem baru sudah siap, terdapat selisih data dengan server production. Hal ini tentu tidak dapat dihindari dan harus adanya cut off agar datanya sama.
Untuk menyamakan selisih data tersebut, saya menggunakan Imapsync. Proses yang dilakukan biasanya membuat script looping semua user yang ada dan jalankan Imapsync.
Ternyata proses salin data cukup lama. Mengingat total user yang ada lebih kurang 5000 an. Artinya script yang dibuat harus melakukan looping pada 5000 an user.
Mengingat resources servernya cukup besar, dibuatlah 10 script looping. Script ini nantinya dijalankan bersamaan. Masing-masing script akan melakukan looping terhadap 500 an user berbeda.
Untuk melakukan split 5000 user, saya menggunakan command “split”. Berikut caranya
Diasumsikan list 5000 user tersebut terdapat pada file alluser.txt
split -l 500 alluser.txt user-
Perintah di atas akan melakukan split file alluser.txt menjadi file user-xx. Setiap file user-xx terdapat 500 baris hasil dari split file alluser.txt. Silakan sesuaikan option user- sesuai dengan keinginan pembaca.
Setelah split file terbuat, 10 script looping diarahkan pada setiap file split yang berbeda.
Semoga bermanfaat 🙂