Я использую WinSCP для взаимодействия с удаленным сервером, который поддерживает только SFTP и не разрешает доступ по SSH.
Мое взаимодействие включает перемещение / удаление подмножества файлов (идентифицируемых по именам файлов) в определенном каталоге.
Чтобы упростить это, я обычно синхронизирую [Remote -> Local], удаляю файлы локально, используя командную строку cygwin (чтобы я мог указать список имен файлов вместо выбора файлов в графическом интерфейсе), а затем синхронизировать [Local -> Remote ], чтобы отправить удаленное удаление.
Но теперь я хочу еще больше упростить процесс, чтобы передать его оператору. Я пошел искать и был рад обнаружить, что WinSCP поддерживает «команды».
Было бы здорово, если бы я мог ввести что-то вроде этого в поле «Команда» внизу окна «Командир» WinSCP:
get queue-queue-from-DLQ-ID-69703273-db51-11e1-ba9f-005056010165 \
queue-queue-from-DLQ-ID-3d64697a-db51-11e1-b86e-005056010166 \
queue-queue-from-DLQ-ID-76fdb365-db50-11e1-b78d-005056010164 \
queue-queue-from-DLQ-ID-76ed3836-db50-11e1-ba9f-005056010165
Но когда я ввожу это в поле «Команда», я получаю следующую ошибку:
Текущий сеанс SFTP-3 не поддерживает запрашиваемые вами команды. Для обработки команды может быть открыт отдельный сеанс оболочки. Вы хотите открыть отдельный сеанс оболочки?
Когда я нажимаю ОК, я получаю следующую ошибку:
Ошибка пропуска сообщения при запуске. Вероятно, ваша оболочка несовместима с приложением (рекомендуется BASH).
Последнее, вероятно, связано с тем, что SSH не поддерживается.
Но у меня вопрос: поскольку get
- это команда SFTP, почему я получаю первую ошибку? Разве сам WinSCP не использует эту команду под прикрытием для поддержки операции «копирование на локальный» графического интерфейса?
Как мне настроить WinSCP или Linux так, чтобы я мог делать то, что я показал выше?