Я использую WinSCP для взаимодействия с удаленным сервером, который поддерживает только SFTP и не разрешает доступ по SSH.
Мое взаимодействие включает в себя перемещение / удаление подмножества файлов (идентифицируемых по именам файлов) в определенном каталоге.
Чтобы упростить это, я обычно синхронизирую [Remote -> Local], удаляю файлы локально, используя командную строку cygwin (чтобы я мог указать список имен файлов вместо выбора файлов в GUI), а затем синхронизирую [Local -> Remote ], чтобы удалить удаленный.
Но теперь я хочу еще больше упростить процесс, чтобы передать его операционному персоналу. Я пошел посмотреть и был рад обнаружить, что WinScp поддерживает «команды».
Было бы здорово, если бы я мог ввести что-то вроде этого в поле «Command» внизу в представлении «Commander» 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
Но когда я ввожу это в поле «Команда», я получаю следующую ошибку:
Current SFTP-3 session does not support command you request. Separate shell session may be opened to process the command. Do you want to open separate shell session?
Ошибка 1:
Когда я нажимаю ОК, я получаю следующую ошибку:
Error skipping startup message. Your shell is probably incompatible with the applicaiton (BASH is recommended).
Ошибка 2:
Последнее, вероятно, связано с тем, что SSH не поддерживается.
Но мой вопрос: поскольку get является SFTP-командой, почему я получаю первую ошибку? Разве WinSCP не использует эту команду под прикрытием для поддержки графической операции «копировать в локальную»?
Как я могу настроить WinSCP или linux box, чтобы я мог делать то, что я показал выше?