Автоматизация удаления устаревших резервных копий

Скрипт и библиотека на OneScript для автоматизации удаления устаревших резервных копий.

Хранение, а также своевременное удаление резервных копий — важная задача любого администратора. Грамотным удалением устаревших резервных копий часто пренебрегают и отдают эту задачу на исполнение батникам, скриптам и иногда регламентным заданиям СУБД. В таком случае нет никакого логирования работы задачи и возможно удаление всех резервных копий.

Исходя из описанных ограничений написана библиотека и исполняемый файл на языке OneScript для удаления устаревших резервных копий.

Основные возможности:

  •     Удаление резервных копий по истечении периода хранения,
  •     Обязательное хранение минимального количества резервных копий,
  •     Логирование действий,
  •     Режим "Без удаления резервных копий".

Основной алгоритм работы:
    Создается файл настроек.
    В файле настроек описываются настройки и задания для выполнения:
        Настройка "БезУдаленияРезервныхКопий", если установлено значение true, тогда резервные копии не удаляются, только выводятся в лог резервные копии к удалению.
        Перечисление заданий для выполнения:
            Каталог — каталог хранения резервных копий, чтение вложенных каталогов не выполняется,
            МаскаФайлов — маска для поиска файлов резервных копий, будут анализироваться только файлы, удовлетворяющие маске,
            МинимальноеКоличествоРезервныхКопий — минимальное количество хранимых резервных копий, меньше этого количества не будет удалено резервных копий,
            ПериодХраненияРезервныхКопий — период хранения резервных копий в днях: 0 — будут удалены все резервные копии, 1 — будут сохранены только копии от текущей даты. Дата резервной копии определяется по дате изменения файла.
        При заполнении настроек заданий важно соблюдать формат [ИмяЗадания].[ИмяНастройки]. При чтении настроек заданий они будут сгруппированы по имени задания. Вложенность настроек не учитывается.
    Запускается исполняемый файл.

Для использования из скачанного архива необходимо запускать файл deletebackupfiles_exemain.os.

Использование:
main.os [PathToSettings] [-debug]
    PathToSettings — путь к файлу с настройками заданий.
    -debug — вывод в лог дополнительной отладочной информации.

Примеры использования:
    main.os — чтение файла настроек по умолчанию settings.json из текущего каталога исполняемого файла.
    main.os c:deletebackupfilessettings_ib1.json — чтение файла настроек из указанного файла.

Планы по развитию библиотеки:
    Использование регулярных выражений при поиске резервных копий по маске.
    Определение даты резервной копии по формату имени файла.

Более подробное описание библиотеки на GitHub.
Ссылка на исполняемый файл на GitHub.

2 Comments

  1. Evil Beaver

    Спасибо за использование 1Script!

    Маленький совет: отладочные логи в гит лучше все-таки не класть ) Зачем их версионировать…

    Reply
  2. metmetmet

    (1) Логично. Спасибо.

    Reply

Leave a Comment

Ваш адрес email не будет опубликован. Обязательные поля помечены *