Удалить все файлы за месяц, кроме последнего - PullRequest
1 голос
/ 22 июня 2010

Каждый день мы запускаем задание резервного копирования.

Это задание создает новый файл в формате yyyyMMdd.7z, и теперь нам нужно автоматически очистить хранилище резервных копий.

Наша полиция резервного копирования сообщает, чтонам нужно хранить файлы за последние 5 дней и последнюю резервную копию каждого месяца.Первый шаг легкий, так как у меня текущий день.Но как мне сохранить последний месяц каждого месяца?

Ответы [ 2 ]

2 голосов
/ 22 июня 2010

Мы всегда запускаем наши резервные копии на ночь, поэтому последняя резервная копия месяца обычно запускается 1-го числа следующего месяца в первые часы, обычно в 3 часа 17 минут утра.Тогда шаблон просто * 01.7z.

Может быть, вы могли бы настроить расписание резервного копирования аналогичным образом?

в противном случае перенаправьте список каталогов с YYYYMM * .7z по select-object --last 1 .Уберите его с дороги, переименуйте (например, Archive_YYYYYMMDD.7z).Тогда они легко отделяются.

0 голосов
/ 22 июня 2010

Чтобы сохранить последние значения каждого месяца, я просматриваю папку с файлами и для каждого месяца веду запись последнего файла, сохраняя гггг, мм и дд из гггг ммдд .7z.

Таким образом, когда вы читаете папку, если вы получаете запись, где ММ соответствует мм, который у вас уже есть, вы проверяете dd.(ниже) Если он не совпадает с уже сохраненным мм, добавьте его.

Если сохраненный dd более актуальный, чем новый, то удалите файл, в котором вы находитесь.Если текущий файл является более текущим, то вы удаляете сохраненный файл (находя путем объединения yyyy + MM + dd + ". 7z", который вы сохранили, и заменяете сохраненные значения текущим файлом.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...