2017-02-14 2 views
-1

Я пытаюсь загрузить элементы из нескольких локальных мест локально на сайт SFTP. Я использую существующий сценарий оболочки, который, как я знаю, работает для загрузки из одного локального местоположения, но я не могу понять, как заставить его работать для загрузки из нескольких локальных мест.Загрузка файлов из нескольких каталогов на сайт SFTP с использованием оболочки Scripting

Я довольно новичок в кодировании и имею только базовый опыт работы с пакетными сценариями и небольшим редактированием существующих сценариев оболочки, поэтому я был бы признателен за любую помощь, которая может быть предоставлена.

Вот образец моего существующего одного сценария локальной загрузки расположение

open sftp://(userid):(password)@(sftp site) -hostkey="(hostkey)" 

pwd 
ls 
lcd "(local directory)" 
lls 
cd (remote directory) 
ls 
put * -filemask=|*/ ./ 
exit 

Это хорошо работало для нас раньше, но я стараюсь, чтобы очистить некоторые из наших существующих сценариев, объединяя их в один процесс, выполняется как автоматическая задача, но я не могу понять, как объединить несколько задач, подобных этому вместе.

+0

Какой клиент SFTP вы используете? Вы говорите «сценарий оболочки», но код, который вы опубликовали, выглядит как [сценарий WinSCP] (https://winscp.net/eng/docs/scripting). –

ответ

0

Просто повторите код загрузки для каждого местоположения:

cd /remote/directory 

lcd /local/directory1 
put * -filemask=|*/ ./ 

lcd /local/directory2 
put * -filemask=|*/ ./ 

Хотя если это действительно сценарий WinSCP, вы можете использовать только одну команду, как:

put -filemask=|*/ /local/directory1/* /local/directory2/* /remote/directory/ 

См документация для put command:

put <file> [ [ <file2> ... ] <directory>/[ <newname> ] ]

...

Если указаны несколько параметров, все, кроме последнего, один набор уточнить файлов для загрузки. Имя файла можно заменить подстановочным знаком Windows, чтобы выбрать несколько файлов. Чтобы загрузить все файлы в каталог, используйте маску *.

Последний параметр указывает целевой удаленный каталог и необязательно operation mask для хранения файлов под другим именем. Целевой каталог должен заканчиваться косой чертой. ...

Смежные вопросы