Архивирование логов netflow и radius accaunting
Материал из BiTel WiKi
(Различия между версиями)
Строка 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" | + | | mail -s "Archive created success" romanenko_eo@mycentra.ru |
else | else | ||
LS=`ls -ld $radius_S2/$y_date/$ym_date/$ymd_date` | LS=`ls -ld $radius_S2/$y_date/$ym_date/$ymd_date` | ||
- | echo 'Archive ' $LS 'not created'|mail -s "Archive NOT created" | + | echo 'Archive ' $LS 'not created'|mail -s "Archive NOT created" romanenko_eo@mycentra.ru |
fi | fi | ||
rm -rf $radius_S2/$y_date/$ym_date/$ymd_date | rm -rf $radius_S2/$y_date/$ym_date/$ymd_date | ||
else | else | ||
- | echo 'Alarm, directory ' $netflow_S$i/$y_date/$ym_date/$ymd_date 'not exist!!!'|mail -s "Directory not exist" | + | echo 'Alarm, directory ' $netflow_S$i/$y_date/$ym_date/$ymd_date 'not exist!!!'|mail -s "Directory not exist" romanenko_eo@mycentra.ru |
fi | fi | ||
Строка 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 | + | 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" | + | | mail -s "Archive created success" romanenko_eo@mycentra.ru |
else | else | ||
LS=`ls -ld $netflow_S$i/$y_date/$ym_date/$ymd_date` | LS=`ls -ld $netflow_S$i/$y_date/$ym_date/$ymd_date` | ||
- | echo 'Archive directory' $LS 'not created'|mail -s "Archive NOT created" | + | echo 'Archive directory' $LS 'not created'|mail -s "Archive NOT created" romanenko_eo@mycentra.ru |
fi | fi | ||
rm -rf $netflow_S$i/$y_date/$ym_date/$ymd_date | rm -rf $netflow_S$i/$y_date/$ym_date/$ymd_date | ||
else | else | ||
- | echo 'Alarm, directory ' $netflow_S$i/$y_date/$ym_date/$ymd_date 'not exist!!!'|mail -s "Directory not exist" | + | echo 'Alarm, directory ' $netflow_S$i/$y_date/$ym_date/$ymd_date 'not exist!!!'|mail -s "Directory not exist" romanenko_eo@mycentra.ru |
fi | fi | ||
done | done | ||
- | ########################################################################################################################</pre> | + | ######################################################################################################################## |
+ | </pre> |
Версия 02:13, 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" romanenko_eo@mycentra.ru else LS=`ls -ld $radius_S2/$y_date/$ym_date/$ymd_date` echo 'Archive ' $LS 'not created'|mail -s "Archive NOT created" romanenko_eo@mycentra.ru 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" romanenko_eo@mycentra.ru 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" romanenko_eo@mycentra.ru else LS=`ls -ld $netflow_S$i/$y_date/$ym_date/$ymd_date` echo 'Archive directory' $LS 'not created'|mail -s "Archive NOT created" romanenko_eo@mycentra.ru 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" romanenko_eo@mycentra.ru fi done ########################################################################################################################