All pastes #2050856 Raw Edit

Something

public text v1 · immutable
#2050856 ·published 2011-04-26 13:29 UTC
rendered paste body
#!/bin/sh
## Папка, которую будем сканить
dir="/srv/backups"

## Сервер Zabbix
zabbixsrv="mc.efsol.ru"

## Получаем массив из всех директорий ежедневных бэкапов в нашей корневой папке
dailylist=`find $dir -type d -iname *daily* -print`

## Получаем массив из всех директорий еженедельных бэкапов в корневой папке
weeklylist=`find $dir -type d -iname *weekly* -print`

## Получаем массив из всех директорий ежемесячных бэкапов в корневой папке
monthlylist=`find $dir -type d -iname *monthly* -print`

## Получаем массив из всех директорий системных бэкапов в корневой папке
systemlist=`find $dir -type d -iname *system* -print`

## Затираем предыдущий лог
echo "" > /root/backupinspect.log

## Проверяем для каждой папки с дневными бэкапами, что в ней присутствуют файлы
## не старше 1 дня и не меньше 1 мбайта
for curdir in $dailylist; do
    count=`find $curdir -type f -mtime -2 -size +1M | wc -l`
    if [ $count -eq 0 ]; then
        echo "Trouble in daily folder: $curdir" >> /root/backupinspect.log
    fi
done

## Проверяем для каждой папки с недельными бэкапами, что в ней присутствуют файлы
## не старше 8 дней и не меньше 1 мбайта
for curdir in $weeklylist; do
    count=`find $curdir -type f -mtime -8 -size +1M | wc -l`
    if [ $count -eq 0 ]; then
        echo "Trouble in weekly folder: $curdir" >> /root/backupinspect.log
    fi
done

## Проверяем для каждой папки с месячными бэкапами, что в ней присутствуют файлы
## не старше 32 дней и не меньше 1 мбайта
for curdir in $monthlylist; do
    count=`find $curdir -type f -mtime -32 -size +1M | wc -l`
    if [ $count -eq 0 ]; then
        echo "Trouble in monthly folder: $curdir" >> /root/backupinspect.log
    fi
done

## Проверяем для каждой папки с бэкапами системы, что в ней присутствуют файлы
## не старше 32 дней и не меньше 1 мбайта
for curdir in $systemlist; do
    count=`find $curdir -type f -mtime -32 -size +1M | wc -l`
    if [ $count -eq 0 ]; then
        echo "Trouble in system folder: $curdir" >> /root/backupinspect.log
    fi
done