Windows: Резервное копирование на Яндекс.Диск штатными средвами

Недавно появилась задача организовать резервное копирование критичных данных на какой-нибудь облачный сервис. Так как установка на сервер клиентского приложения для синхронизации данных -- процесс весьма сомнительный, решил организовать копирование на Яндекс.Диск через раширение http-протокола WebDAV, благо и яндекс и windows это умеют.

Для копирования набросал простенький батник вида:


chcp 1251
net use v: /delete
net use v: \\webdav.yandex.ru@SSL\DavWWWRoot /user:<имя пользователя (почта без @yandex.ru)> <пароль>
"C:\Program Files\7-Zip\7z.exe" a -tzip -ssw -mx7 -r0 V:\backup_%date%.zip @listfile.txt


Скрипт сначала удаляет, потом подключает сетевой диск V, содержимое которого и есть содержимое яндекс диска. После этого архиватором 7zip туда копируются файлы из списка listfile.txt.

Ввиду ограниченности места на Яндекс.Диске, после net use можно выполнить удаление старых резервных копий командой

forfiles /p V:\ /m *.zip /d -15 /c "cmd /c del /q /f @file"

подробнее про удаление тут: Windows: удаление устаревших резервных копий

В итоге получилось резервное копирование на бесплатный облачный сервис по защищенному соединению без установки дополнительных программ.

Подробнее про webdav можно почитать тут.

Скачать костыль скрипта можно отсюда.

P.S. На серверных версиях Windows webdav-клиент входит в состав компонента "Возможности рабочего стола"(Desktop Experience), который нужно устанавливать отдельно. 

UPD:  После некоторых изменений на яндексе, перестали копироваться файлы размером около гигабайта. Файлы размером 500Mb копируются нормально, файлы больше лучше разбить на части.

 
1 1 1 1 1 1 1 1 1 1 Рейтинг 0.00 [0 Голоса (ов)]

Комментарии   

 
0 #3 Sysadmin 06.09.2017 23:48
Цитирую Владимир Викторович:
Спасибо, всё просто. Подскажите, а этот батник интересно можно будет запихнуть на серверной ситстеме в планировщик, запустить от имени администратора, и он нормально отработает? Т.е. отработать как служба.

Да, если в планировщике поставить точку выполнять вне зависимости от регистрации пользователя и ввести пароль. На windows server 2008 r2 точно работает.
По поводу файла listfile.txt, должно работать и с папками. Пример:
C:\Test\
C:\Test2\test.txt
Цитировать
 
 
0 #2 Владимир Викторович 06.09.2017 22:13
И еще, можете написать или скинуть пример фаила @listfile.txt Может ли там указать папки?
Цитировать
 
 
0 #1 Владимир Викторович 06.09.2017 21:36
Спасибо, всё просто. Подскажите, а этот батник интересно можно будет запихнуть на серверной ситстеме в планировщик, запустить от имени администратора, и он нормально отработает? Т.е. отработать как служба.
Цитировать
 

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