May 26th, 2017

Как скачать файлы по расписанию через ftp

Задумал я перенести часть наших сайтов на другой хостинг. Заодно и обновить их и сделать ещё кое-какие манипуляции, чтобы вести разработку локально. А для этого необходимость скачать большое количество файлов через ftp. А так как у "безлимитного" тарифа Мегафона есть лимит на скачивание днём, то возникла идея - скачать файлы по расписанию после 1:00.

Немного погуглив нашёл способ, сделать это с помощью WinSCP и планировщика задач Windows 10. Тут инструкция на английском.


Для начала устанавливаем WinSCP, если ещё не стоит. Необходимо получить код для скачивания файлов. Подключаемся к хосту, с которого нужно скачать файлы. Я предварительно заархивировал все файлы сайта и базы данных, поэтому для скачивания получилось 2 файла. Выделяем их мышкой и жмём правой кнопкой. В выпадающем меню выбираем "Получить".



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



Необходимо поместить в двойные кавычки каждую команду и убрать переносы строк, так, чтобы всё поместилось в одну линию.



Заходим в планировщик заданий



В планировщике создаём простую задачу. Заполняем несколько окошек с параметрами и переходим в настройки задачи.

С помощью кнопки "Обзор" выбираем путь до WinSCP.

В аргументы копируем строку и дополняем её строкой до WinSCP. В итоге должно получиться нечто следующее:

"C:\Program Files (x86)\WinSCP\winscp.exe" /command 
"open sftp://<параметры подключения к FTP>/" "cd /<путь откуда копируем>" 
"lcd D:\<Путь до папки>" "get -transfer=<какой файл копируем>" "exit"

 



Сохраняем задачу и переходим в её свойства. Я настроил, чтобы выполнялось в Win10. А так же, чтобы просыпался компьютер для выполнения задачи, если он спит.

На утро посмотрел - файлы скачаны! УРА! 


Опубликовано на сайте Бородины. Запись можно комментировать и тут, и там.