Фактически ничего нового в этой статье не будет, потому что уже я создавал всё необходимое: скрипт для проверки дисков на сервере бэкапов на свободное место и скрипт, который автоматически избавляет от устаревших бэкапов. Создал я тогда два задания, которые по очереди запускались и делали свою работу. Но в один прекрасный момент (вроде как после отпуска) я обнаружил, что бэкапы куда-то исчезли. И тогда при проверке я обнаружил, что бэкапы вовремя не были сделаны, зато вовремя были очищены старые. После этого инцидента мне пришла в голову новая мысль - сделать так, чтобы старые бэкапы удалялись только тогда, когда остаётся мало места на диске.
Для реализации этой новой идеи мне понадобилось сделать всего две вещи:
- Немного изменить скрипт, который определял свободное место: был вложен в него новый смысл - если места стало на диске мало, то тогда сам этот скрипт запускает скрипт автоматического избавления от устаревших бэкапов.
- Было убрано задание, которое автоматически запускало скрипт автоматического избавления от устаревших бэкапов.
По сути, я переложил обязанности запуска этого скрипта с плеч операционной системы на скрипт.
Что в итоге у меня вышло:
- Первый скрипт проверяет сколько осталось места на диске и если он считает, что мало, то автоматически шлёт отчёт админу и запускает второй скрипт.
- Второй скрипт остался практически неизменным и проверяет наличие устаревших бэкапов и если таковые находятся, то избавляется от них и шлёт админу полный отчёт. Единственное, что я изменил в этом скрипте - в отчёте теперь расписывается не только что и где он удалил, а также ведётся статистика высвобожденного места.
Что вам понадобиться для реализации этого маленького проекта:
- Создать папку на серваке бэкапов, куда нужно положить два скрипта (я создал по адресу "C:\Scripts" и скрипты мои заточены под этот адрес, хотя это дело вкуса).
- Создать задание для запуска скрипта проверки на наличие свободного места на диске.
- И последнее - это тонкий тюнинг в настройках самих скриптов по минимальному лимиту свободного места и количеству дней хранения бэкапов. Данный пункт подстраивается постепенно по ходу работы скриптов.
Новые обновлённые скрипты:
- Автоматическая проверка оставшегося места на диске с автоматическим удалением старых бэкапов.
- Адаптированный скрипт автоматического избавления от устаревших архивов.
Жизнь админа должна быть проще... |