Назад | Перейти на главную страницу

Выполнить команду через SSH во время записи вывода в реальном времени

Я пытаюсь зарегистрировать вывод удаленной команды ssh.

Я сейчас использую

ssh USER@IP | tee -a ~/random.log

а затем запустите команду, которую мне нужно запустить на удаленном сервере, которая затем записывается в random.log.

Мне нужно, чтобы это могло работать в фоновом режиме, в настоящее время он выходит, когда я выхожу / закрываю терминал.

Я не могу войти на удаленный сервер, так как это маршрутизатор с очень маленьким свободным пространством (> 800 КБ).

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

screen

и в сеансе экрана

ssh USER@IP | tee -a ~/random.log

Если вы случайно закроете окно, просто используйте screen -r повторно прикрепить. Обратите внимание, что это не выдержит перезагрузки вашего локального компьютера.

Протестировал это довольно быстро между двумя Linux-боксами, и, похоже, все работает нормально:

ssh USER@IP "command_to_show_router_log" | tee -a (local_copy_filename)

Я использовал "tail -f (logfile)" в "command_to_show_router_log", но, поскольку вы упомянули, что это маршрутизатор, ваш синтаксис может быть другим.