Как реализовать резервное копирование папки на Яндекс Диск по расписанию WinServ2003?

Как реализовать следующую логику ?
Есть папка с файлами
Нужно чтобы через определенный промежуток времени создавался архив zip этой папки и загружался на Яндекс Диск
На диске чтобы хранилось N количество таких архивов с именем содержащим дату бэкапа
Архивы старше заданного промежутка времени удаляются
Желательно готовое ПО
  • Вопрос задан
  • 1973 просмотра
Пригласить эксперта
Ответы на вопрос 4
a13xsus
@a13xsus
Lazy developer
Допустим, папка с Яндес Диском находится в D:\Yandex, сама директория, которую надо архивировать - C:\Files.
Cкрипт Powershell:

Add-Type -Assembly “system.io.compression.filesystem”
$b=Get-Date -UFormat "%d.%m.%Y"
$src = “C:\Files”
$dst= “D:\Yandex\backup\$b\files.zip”
New-Item -Path "D:\Yandex\backup\$b" -ItemType "directory"
[io.compression.zipfile]::CreateFromDirectory($src, $dst)
$limit = (Get-Date).AddDays(-30)
$path = "D:\Yandex\backup"
# удаляем файлы, старше $limit.
Get-ChildItem -Path $path -Recurse -Force | Where-Object { !$_.PSIsContainer -and $_.CreationTime -lt $limit } | Remove-Item -Force
# удаляем пустые папки, оставшиеся после удаленных файлов
Get-ChildItem -Path $path -Recurse -Force | Where-Object { $_.PSIsContainer -and (Get-ChildItem -Path $_.FullName -Recurse -Force | Where-Object { !$_.PSIsContainer }) -eq $null } | Remove-Item -Force -Recurse


Создаем задание в планировщике заданий с суточной периодичностью, действите -- запуск powershell, аргумент - путь к скрипту. Сохраняем, запускаем.

Тестил на 2012R2, на 2003 Powershell старый и возможно потребуются изменения в скрипте.
Ответ написан
Комментировать
mace-ftl
@mace-ftl
ОС какая?
П.С. - общий ответ - написать скрипт
Ответ написан
Комментировать
@Free_ze
Пишу комментарии в комментарии, а не в ответы
С помощью планировщика и скрипта.
Ответ написан
Комментировать
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы