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

Comments

Popular posts from this blog

Configure Open Smtp google with Postfix

membuat random password di linux

ISCSI