#!/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