Loop, mari berulang-ulang

Hari ini ada tugas membuat laporan statistik untuk akses website client per bulan Januari. Berhubung tools-nya baru sempat di-setup sekarang. Sebenarnya sudah siap sejak kemarin, sekarang hanya perlu meng-update statistik tersebut dari log file yang lama, dari tanggal 1 sampai dengan 9 januari 2012.

Post blog ini sebenarnya tidak ada tutorial apapun, hanya ingin menulis saja. Ada salah satu client yang menggunakan clustering servers, dengan beberapa server yang bersama-sama menjadi web server untuk beberapa website. 4 server tepatnya. Dan ada 8 site/user yang harus diupdate statistiknya (hanya untuk client kantor yang ini), data yang harus diupdate 9 hari.

Loop dibawah menyelesaikan 9 x 8 x 4 proses. Well, bukan hal yang susah, statistik menggunakan awstats, dan log file ditransfer dengan scp. Script dibawah sudah siap mem-parsing file-file archive dari log yang lama

#!/bin/bash
for i in {1..9}; do
        for j in `ls | grep site`; do
                cd $j/logs/;
 
                for k in ws1 ws2 ws3 ws4; do
                        F="${k}_2012010$i.bz2";
                        echo $i $k $F;
                        cp tmp/$F ./
                        tar -xjf $F;
                        for l in `ls *-201201$i.daylog`; do
                                NF=`echo $l | /bin/sed "s/.daylog/-${k}.daylog/g"`;
                                mv $l $NF;
                        done;
                done;
                /home/user/bin/theawstatscript $j;
 
                cd /home/user;
        done;
done;

Hanya ingin menulis saja.

tulisan ini termasuk kategori Kisah Nyata, Linux, pemrograman dan ditandai dengan kata , , , . Simpan alamatnya.