Перенаправить вывод ssh в файл при выполнении других команд - PullRequest
0 голосов
/ 06 октября 2019

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

ssh $remotehost "./server $port" > logFile &
ssh $remotehost "nc -q 2 localhost $port < $payload"

Теперь первая команда запускает HTTP-сервер, который просто распечатывает любой полученный запрос, а вторая команда отправляет запрос. на такой сервер. Обычно, если бы я выполнил две команды на двух отдельных оболочках, я получил бы первый ответ на терминале, но теперь он мне нужен в файле. Я хотел бы, чтобы сервер выводил все запросы в файл журнала, сохраняя своего рода открытое ssh-соединение для получения любых новых выходных данных процесса сервера.

Надеюсь, я дал ясно понять. спасибо за вашу помощь!

РЕДАКТИРОВАТЬ: Вот вывод первой команды: (Вывод пуст в терминале ... он ожидает запросов). Как вы можете видеть командыпока ничего не возвращает, но ждет. Когда я выполняю вторую команду на новом терминале (запрос), вывод первого терминала выглядит следующим образом: Отображается запрос. Теперь я хотел бы выполнить обе команды последовательно в сценарии bashотправка вывода первого терминала (который является нулевым, пока не будет выполнена вторая команда) в файл, так что ЛЮБОЙ вывод, инициируемый последующими выданными запросами, отправляется в файл.

EDIT2: На данный моментС помощью приведенных выше команд сервер отвечает на любые запросы, но выходные данные не регистрируются в файле журнала.

...