Самый быстрый способ удаления файлов по расписанию в Windows

У меня есть компьютер с Windows-сервером, который ежедневно выполняет резервное копирование, и каждое ежедневное резервное копирование занимает 1,5 ГБ, поэтому каждую ночь я хочу удалять файлы резервных копий старше 1 недели.

Вот как организованы мои резервные файлы:

backup.20091118.gz.gpg, как вы видите, часть 20091118 идентифицирует дату файла 2009/11/18 (год, месяц, день) .

Я планирую написать для этого быстрый пакетный скрипт и запланировать его через диспетчер задач. Это хорошая идея? Если это так, я был бы признателен за помощь в части пакетного сценария.

С уважением

5 ответов

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

Удалить самый старый файл в каталоге довольно просто в пакетном скрипте:

SET BACKUPDIR=C:\PATH\TO\BACKUPS
FOR /F %%i IN ('DIR /B /O-D %BACKUPDIR%') DO SET OLDEST=%%i
DEL %BACKUPDIR%\%OLDEST%

Единственный настоящий трюк - это команда DIR /B /O-D в котором перечислены простые имена файлов, отсортированные по дате, по возрасту. Мы используем FOR цикл для захвата каждого имени файла в OLDEST переменная, поэтому, когда цикл сделан %OLDEST% развернем до имени самого старого файла.

Удалите самый старый файл непосредственно перед созданием самой новой резервной копии.

Удаление файла происходит быстро, намного быстрее, чем резервное копирование ~1,5 ГБ, и резервное копирование уже запланировано.

Самый быстрый способ Предложение. скачать GNU найди отсюда

затем просто создайте запланированное задание следующим образом:

gnu_find.exe c:\path -type f -iname "backup.*gpg" -mtime +7 -delete

Возможно, вы захотите взглянуть на более умную и эффективную технологию резервного копирования, чем просто архивирование полных снимков. OS X имеет Time Machine, которая может делать ежечасные резервные копии. Он хранит только измененные файлы, поэтому, несмотря на то, что он распакован, он очень компактен. Из-за некоторого умного индексирования после первоначального резервного копирования это намного быстрее чем полный снимок. А поскольку он просто хранит файлы, а не какой-то необычный формат архива, восстановление файла из резервной копии так же просто, как и копирование файла.

Там, вероятно, что-то подобное для Windows. Seagate Replica и Genie Timeline - это две возможности.

Другие вопросы по тегам