Перенаправить вывод хвоста на удаленный сервер

Я бы хотел tail -f локальный файл, например app1.log, и отправьте его вывод в файл на удаленном сервере.

tail -f app1.log >> <remote server>:/home/remote.log

Это выполнимо?

1 ответ

Вы можете трубу STDOUT через SSH к удаленному хосту:

tail -f - app1.log | ssh user@remote.host "cat > app1.log"

Если вы не слишком заботитесь о шифровании от начала до конца, вы можете раскрутить netcat на принимающем хосте и трубе tail к удаленному прослушиванию netcat или socat, но это было бы злом, поэтому я не буду предоставлять copy-pasta.:D

Вы можете использовать rsyslog, если у вас есть сервер rsyslog на другой стороне. Проблема в том, что очень сложно отследить, какое последнее сообщение было отправлено вами. Все зависит от того, как вы это реализуете, насколько важны ваши журналы.

Другие вопросы по тегам