mebuat log arcive rotate / create custom log/archive rotate with shell script
Dear All,
berikut saya bagi2 ilmu lagi untuk kawan-kawan. kali ini membahas rotate file. yaitu sebuah mekanisme yang mengambil konsep dari rotate log di OS linux. yang dikembangkan oleh bpk P.F. Sitohang (saya juga gak tau siapa dia) heheheh... langsung saja
1. copas script dibawah ini di file bernama rotate.sh di folder yang sama dengan file yang mau di archive/rotate
2. masukan akses read di file tersebut chmod +x rotate
3. jalankan dengan perintah ./rotate.sh (parameter) namafile
contoh : ./rotate.sh 7 backup.log
4. lihat hasilnya
selamat mencoba
#!/bin/bash
# Variabel penampung nilai masukan pertama dan looping
counter1=$1
loop=1
# Misalkan program dijalankan dengan parameter: rotate 7 7 a
# Melakukan perulangan sejumlah parameter yang ada selain parameter pertama
for parameter in $@
do
# Perulangan dengan membaca parameter 2 sebagai nama file (7)
if [ $loop != 1 ]; then
counter2=$counter1
# Perulangan untuk melakukan backup sebanyak parameter 1
while [ $counter2 -ge 0 ]
do
# Untuk nilai file yang terakhir tidak dilakukan apa-apa
if [ $counter2 = $counter1 ]; then
fileakhir="$parameter.$counter2.gz"
counter2=`expr $counter2 - 1`
else
# Counter mencapai nilai awal, create file awal
if [ $counter2 = 0 ]; then
file="$parameter"
fileakhir="$parameter.`expr $counter2 + 1`"
mv -f $file $fileakhir
gzip -f $fileakhir
touch $file
#chown web:web $file ## optional
counter2=`expr $counter2 - 1`
else
# Backup file
file="$parameter.$counter2.gz"
counter3=`expr $counter1 - 1`
if [ $counter2 -eq $counter3 ]; then
if [ -f $file ]; then
mv -f $file $fileakhir
fi
else
if [ -f $file ]; then
mv -f $file $fileakhir
fi
fi
# Nama file yang terakhir disimpan untuk backup
# file selanjutnya
fileakhir="$parameter.$counter2.gz"
counter2=`expr $counter2 - 1`
fi
fi
done
fi
# Setting nilai loop berikutnya
loop=2
done
berikut saya bagi2 ilmu lagi untuk kawan-kawan. kali ini membahas rotate file. yaitu sebuah mekanisme yang mengambil konsep dari rotate log di OS linux. yang dikembangkan oleh bpk P.F. Sitohang (saya juga gak tau siapa dia) heheheh... langsung saja
1. copas script dibawah ini di file bernama rotate.sh di folder yang sama dengan file yang mau di archive/rotate
2. masukan akses read di file tersebut chmod +x rotate
3. jalankan dengan perintah ./rotate.sh (parameter) namafile
contoh : ./rotate.sh 7 backup.log
4. lihat hasilnya
selamat mencoba
#!/bin/bash
# Variabel penampung nilai masukan pertama dan looping
counter1=$1
loop=1
# Misalkan program dijalankan dengan parameter: rotate 7 7 a
# Melakukan perulangan sejumlah parameter yang ada selain parameter pertama
for parameter in $@
do
# Perulangan dengan membaca parameter 2 sebagai nama file (7)
if [ $loop != 1 ]; then
counter2=$counter1
# Perulangan untuk melakukan backup sebanyak parameter 1
while [ $counter2 -ge 0 ]
do
# Untuk nilai file yang terakhir tidak dilakukan apa-apa
if [ $counter2 = $counter1 ]; then
fileakhir="$parameter.$counter2.gz"
counter2=`expr $counter2 - 1`
else
# Counter mencapai nilai awal, create file awal
if [ $counter2 = 0 ]; then
file="$parameter"
fileakhir="$parameter.`expr $counter2 + 1`"
mv -f $file $fileakhir
gzip -f $fileakhir
touch $file
#chown web:web $file ## optional
counter2=`expr $counter2 - 1`
else
# Backup file
file="$parameter.$counter2.gz"
counter3=`expr $counter1 - 1`
if [ $counter2 -eq $counter3 ]; then
if [ -f $file ]; then
mv -f $file $fileakhir
fi
else
if [ -f $file ]; then
mv -f $file $fileakhir
fi
fi
# Nama file yang terakhir disimpan untuk backup
# file selanjutnya
fileakhir="$parameter.$counter2.gz"
counter2=`expr $counter2 - 1`
fi
fi
done
fi
# Setting nilai loop berikutnya
loop=2
done
Comments
Post a Comment