Удаляем старые бэкапы на автомате

PythonБыл долгий перерыв с блогом. Женитьба, переезд, ремонт и прочее 🙂
Сегодня покажу как можно автоматизировать процесс очистки от старых бэкапов. Они имеют тенденцию засирать занимать диски с невиданной скоростью)

Пример реализован на Python. Последнее время тяга к нему у меня больше чем к JScript. Синтаксис Python приятный, красивый, много документации, мало «магических констант», много сторонних расширений.

Скрипт читает настройки из ini файла.
Имя этого настоечного файла должно быть равно имени скрипта.
Каждая секция в ini файле описывает действия по удалению в определенном каталоге.
И так параметры секции:

  • work_path — рабочий каталог
  • old_file — сколько дней прошло с момента изменения файла
  • del_ext — Необязательный параметр. Список расширения файлов которые будут удалятся. Список должен идти через точку с запятой. По умолчанию это расширения: .dt,.zip,.rar,.7z
  • min_file — Необязательный параметр. Указывает сколько должно быть по минимум файлов с удаляемыми расширением. По умолчанию 1

Последний параметр позволяет избежать случая когда бэкап перестали работать, а скрипт удаляет «стареющие» файлы.
Скрипт так же проверяет что бы не удалялись все файлы. Если вдруг окажется что ВСЕ файлы старше old_file то он откажится этого сделать.
Все это позволяет не нервничать если на сервере «скачет» время (например какой то умник играется с датой или Active Directory синхранизирует с сервером у которого неверная дата)

Загружаем скрипт. Пробуем. Смотрим. Модифицируем.

Удаляем старые бэкапы на автомате: 1 комментарий

  1. Уведомление: Автоматическая очистка FTP « IT записки

Добавить комментарий

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