У меня есть ряд папок на сервере, которые необходимо регулярно проверять на правильность резервного копирования. Нам нравится иметь по крайней мере 1 резервную копию в этой папке, возраст которой не менее 7 дней. Резервные копии в формате .zip.
Я хочу видеть каталоги, которые не содержат zip-файлов, которые были изменены или созданы за последние 7 дней.
Вот пример того, как выглядит структура файла:
\\server01\backups\PLANT1\A
\\server01\backups\PLANT1\B
\\server01\backups\PLANT2\A
\\server01\backups\PLANT2\B
...etc
Мне удалось собрать сценарий powershell, который возвращает весь каталог zip-файлов, и другой, в котором перечислены те, которые были изменены за последние 7 дней, но не тот, который возвращает только каталоги тех, у которых нет необходимых нам файлов. ,
Вот тот сценарий, который я только что упомянул:
$DateToCompare = (Get-date).AddDays(-7)
Get-ChildItem \\server01\backups -recurse -include *.zip | Where {(!$_.PsIsContainer) -and ($_.lastwritetime -gt $DateToCompare)} | select DirectoryName,Name,LastWriteTime | sort DirectoryName
Ваше руководство высоко ценится.
Редактировать:
Вот код в окончательном виде. Я был очень близок
$DateToCompare = (Get-Date).AddDays(-7)
Get-ChildItem \\server01\backups -recurse -include *.zip | Where {(!$_.PsIsContainer) -Notcontains ($_.creationtime -gt $DateToCompare)} | select DirectoryName,Name,CreationTime | sort DirectoryName