Программа для подключения SFTP как диск, способ бэкапа сайта

Раздел: Советы
Написано: 20.08.2020
Автор: Antonio

Ранее писал заметки о различных способах бэкапа данных с Unix и Linux серверов и вот. Сейчас хочу рассказать о последней версии моего способа, который удалось автоматизировать.

Недавно узнал о новых возможностях в программе NetDrive, которую я использую для подключения к серверу по SFTP.

netdrive app, программа для подключения FTP, SFTP в виде диска

Я много времени искал полностью бесплатную альтернативу NetDrive, аналог FileZilla, WinSCP, только чтобы сервер монтировался в виде диска, а не просто подключение, но такого похоже нет. Есть какие-то решение, но им далеко до визуального оформления и работоспособности NetDrive.


Самое простое и правильное это купить NetDrive или его платный аналог и жить спокойно. Однако на лицензию программы и поддержку в течении года придется выложить 50$, а на пожизненную лицензию и поддержку 100$. Не каждый сможет взять и потратить такую немалую сумму. Часто бывает, что лицензии по какой либо причине перестают работать или накладываются другие ограничения, да и программа через время может стать не нужна.

В ограниченном режиме NetDrive 2.6 доступно монтирование одновременно одного диска в ручном режиме и ограничена скорость. Если вы никуда не спешите, то используя автоматизацию вполне можно пользоваться этим вариантом.

Сейчас непросто найти последнюю версию ветки 2.6, в которой работает ограниченный режим, поэтому я выкладываю ее, заодно будет реклама отличной программе!

Скачать NetDrive2 2.6.20.985 ссылка (оригинальная версия)

Оказывается в пакете NetDrive есть команда nd2cmd.exe для монтирования диска в консольном режиме — ее можно использовать в скриптах!

Для начала создаем подключение к нашему FTP, SFTP, DAV.. и назначаем букву, например X и проверяем подключение вручную. Если все получается, то отлично.

Пример подключения NetDrive из скрипта для бэкапа:

taskkill /IM netdrive2.exe /f
 
echo "Mount disk - X"
"c:\program files\netdrive2\"nd2cmd.exe -c m -n Site
robocopy x:\ c:\BackupSite\ %key_robo%:c:\log\sync.log
taskkill /IM netdrive2.exe /f

Ключи для robocopy

set key_robo=/MIR /R:3 /W:3 /MIR /NDL /TEE /NP /X /LOG

Расскажу по шагам как работает часть скрипта.
taskkill — принудительно убивает процесс, с названием netdrive2.exe — это на случай, если NetDrive уже запущен и что-то подключено, дальше монтируем диск, подключение которого называется Site. Robocopy с ключами синхронизирует нужные каталоги, после завершения синхронизации уничтожаем процесс netdrive. Готово.

Таким образом у меня на копировании 5 серверов, можно больше, можно подключать под одной и той же буквой без создания подключения в интерфейсе NetDrive.

Пример монтирования диска в консоле с помощью nd2cmd (из комплекта NetDrive):

"c:\program files\netdrive2\"nd2cmd.exe -c m -t ftp -u sftp://site.com:22 -a user -p password -d S -n Site

Так можно отключать диск.

"c:\program files\netdrive2\"nd2cmd.exe -c u -d f

Отключение работало не всегда или не всегда после этого нормально подключалось, надежнее «убивать» процесс, используя taskkill.

Таким образом можно используя автоматизацию в скрипте использовать NetDrive 2.6 в бесплатном режиме.

Фразы: как подключить FTP как диск, netdrive 2 console mount ssh, ключ для подключения сервера через SSH nd2cmd.exe

Поделиться с друзьями или в соц.сетях (спасибо)
Ещё похожие заметки:

Написать

Копирование информации с сайта возможно только с указанием прямой ссылки - https://nemcd.com