Архивирование логов netflow и radius accaunting

Материал из BiTel WiKi

(Различия между версиями)
Перейти к: навигация, поиск
 
(1 промежуточная версия не показана)
Строка 2: Строка 2:
Пока, для тестирования, вставил отправку e-mail админу, позже прикручу к Zabbix.
Пока, для тестирования, вставил отправку e-mail админу, позже прикручу к Zabbix.
 +
 +
ps
 +
 +
исправлен недочет при переходе в новый месяц/год
<pre>#!/bin/bash
<pre>#!/bin/bash
Строка 15: Строка 19:
ymd_date=`date -d "-1 day" +%Y-%m-%d`
ymd_date=`date -d "-1 day" +%Y-%m-%d`
-
ym_date=`date +%Y-%m`
+
ym_date=`date -d "-1 day" +%Y-%m`
-
y_date=`date +%Y`
+
y_date=`date -d "-1 day" +%Y`
netflow_S=/netflow_logs/source_
netflow_S=/netflow_logs/source_
radius_S2=/netflow_logs/BGInetAccounting/data/radius/source_2
radius_S2=/netflow_logs/BGInetAccounting/data/radius/source_2
Строка 26: Строка 30:
     $radius_S2/$y_date/$ym_date/$ymd_date
     $radius_S2/$y_date/$ym_date/$ymd_date
     tar_file=`ls  /tmp_netflow/$ymd_date\_accounting_radius.tar.bz2`
     tar_file=`ls  /tmp_netflow/$ymd_date\_accounting_radius.tar.bz2`
 +
    size_tar_file=`ls -lh  /tmp_netflow/$ymd_date\_accounting_radius.tar.bz2|awk '{print $5}'`
     if [ -e "$tar_file" ]
     if [ -e "$tar_file" ]
         then
         then
-
         echo 'This archive created success: ' $tar_file\
+
         echo 'This archive created success: ' $tar_file ' size ' $size_tar_file\
         | mail -s "Archive created success" admin@example.com
         | mail -s "Archive created success" admin@example.com
         else
         else
Строка 46: Строка 51:
     tar -cf /tmp_netflow/$ymd_date\_netflow_source_$i.tar.bz2  --use-compress-prog=pbzip2\
     tar -cf /tmp_netflow/$ymd_date\_netflow_source_$i.tar.bz2  --use-compress-prog=pbzip2\
     $netflow_S$i/$y_date/$ym_date/$ymd_date
     $netflow_S$i/$y_date/$ym_date/$ymd_date
-
     tar_file=`ls /tmp_netflow/\$ymd_date\_netflow_source_$i.tar.bz2'`
+
     tar_file=`ls /tmp_netflow/\$ymd_date\_netflow_source_$i.tar.bz2`
 +
    size_tar_file=`ls  -lh /tmp_netflow/$ymd_date\_netflow_source_$i.tar.bz2|awk '{print $5}'`
     if [ -e "$tar_file" ]
     if [ -e "$tar_file" ]
         then
         then
-
         echo 'This archive created success: ' $tar_file\
+
         echo 'This archive created success: ' $tar_file ' size ' $size_tar_file\
         | mail -s "Archive created success" admin@example.com
         | mail -s "Archive created success" admin@example.com
         else
         else
Строка 60: Строка 66:
fi
fi
done
done
-
########################################################################################################################</pre>
+
########################################################################################################################
 +
</pre>

Текущая версия на 02:14, 29 марта 2012

Для корректной работы скрипта потребуется pbzip2.

Пока, для тестирования, вставил отправку e-mail админу, позже прикручу к Zabbix.

ps

исправлен недочет при переходе в новый месяц/год

#!/bin/bash

###########################################################################
######  Скрипт запускается в кроне каждую ночь в 01:00,             #######
######  архивирует файлы логов netflow и radius accounting          #######
######  за предыдущий день,затем удаляет папки за предыдущий день.  #######
###########################################################################


PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/X11R6/bin

ymd_date=`date -d "-1 day" +%Y-%m-%d`
ym_date=`date -d "-1 day" +%Y-%m`
y_date=`date -d "-1 day" +%Y`
netflow_S=/netflow_logs/source_
radius_S2=/netflow_logs/BGInetAccounting/data/radius/source_2

###################### Жмем pbzip2 радиус аккаунтинг и удаляем папку ###############################################
if [ -e "$radius_S2/$y_date/$ym_date/$ymd_date" ]
    then
    tar -cf /tmp_netflow/$ymd_date\_accounting_radius.tar.bz2 --use-compress-prog=pbzip2\
     $radius_S2/$y_date/$ym_date/$ymd_date
    tar_file=`ls  /tmp_netflow/$ymd_date\_accounting_radius.tar.bz2`
    size_tar_file=`ls -lh  /tmp_netflow/$ymd_date\_accounting_radius.tar.bz2|awk '{print $5}'`
    if [ -e "$tar_file" ]
        then
        echo 'This archive created success: ' $tar_file ' size ' $size_tar_file\
        | mail -s "Archive created success" admin@example.com
        else
        LS=`ls -ld $radius_S2/$y_date/$ym_date/$ymd_date`
        echo 'Archive ' $LS 'not created'|mail -s "Archive NOT created" admin@example.com
    fi
rm -rf $radius_S2/$y_date/$ym_date/$ymd_date
else
echo 'Alarm, directory ' $netflow_S$i/$y_date/$ym_date/$ymd_date  'not exist!!!'|mail -s "Directory not exist" admin@example.com
fi

########################  Жмем bzip2 все 3(source_3[45]) папки, затем удаляем папки ##################################
for i in 3 4 5
do
if [ -e "$netflow_S$i/$y_date/$ym_date/$ymd_date" ]
    then
    tar -cf /tmp_netflow/$ymd_date\_netflow_source_$i.tar.bz2  --use-compress-prog=pbzip2\
     $netflow_S$i/$y_date/$ym_date/$ymd_date
    tar_file=`ls /tmp_netflow/\$ymd_date\_netflow_source_$i.tar.bz2`
    size_tar_file=`ls  -lh /tmp_netflow/$ymd_date\_netflow_source_$i.tar.bz2|awk '{print $5}'`
    if [ -e "$tar_file" ]
        then
        echo 'This archive created success: ' $tar_file ' size ' $size_tar_file\
        | mail -s "Archive created success" admin@example.com
        else
        LS=`ls -ld $netflow_S$i/$y_date/$ym_date/$ymd_date`
        echo 'Archive directory' $LS 'not created'|mail -s "Archive NOT created" admin@example.com
    fi
rm -rf $netflow_S$i/$y_date/$ym_date/$ymd_date
else
echo 'Alarm, directory ' $netflow_S$i/$y_date/$ym_date/$ymd_date  'not exist!!!'|mail -s "Directory not exist" admin@example.com
fi
done
########################################################################################################################
Личные инструменты