Всем добрый день.
Может это очень просто, но я с утра никак не могу сообразить как....
Задача:
Есть сервер, к которому я коннекчусь по telnet и что-то там делаю. Мне нужно, чтобы весь лог того, что происходит в сессии был записал в файл на диске. В идеале, чтобы файлы автоматом именовались по дате, но можно и без этого, просто один большой лог файл...
Как это сделать?
telnet (Как сделать, чтобы telnet писал лог на диск?)
Модератор: Bizdelnick
-
fuzzy
- Сообщения: 175
- ОС: WinXP / ArchLinux
Re: telnet
Script это хорошо. Но вот беда, что оно через чур хорошо. Т.е. он пишет в лог абсолютно всё (вплоть до нажатых backspace и т.п.). Насколько я понял из man'а это нужно для того, чтобы потом повторить действия со 100%-й точностью. Но мне нужно немного не это - мне нужен просто читаемый лог того, что происходило.
Конечно script это в какой-то мере выход для меня, но может кто-то сможет подсказать ещё какое-то решение?
-
backslash
- Сообщения: 125
Re: telnet
Во-первых, попытайтесь сделать что-то с полученными при помощи script логами. Если не получится... Дело в том, что на самом деле решений может быть довольно много.
Например:
Попробуйте эти варианты; если подойдут - хорошо.
Если нет - не все потеряно. Посмотрите man tee, man cat.
Следующий шаг - смотрим "вверх": откуда запускается шелл, запускающий telnet? Это виртуальный терминал (~ "консоль") или, что вероятней, эмулятор терминала (*term)? Можно попытаться использовать их буфер для решения задачи. Вариант дурацкий, не всегда работающий, но: отмотать к началу сессии, выделить "как раз тот самый лог" и cat`нуть его в файл. Функция ведения лога есть у некоторых эмуляторов терминала уже "внутри". Опять же man. Если не подходит, но автоматизации все же хочется - посмотрите screen (потратить много времени; ключевые слова copy mode; вначале добиться работы "вручную", потом автоматизировать, составив для screen соответствующий скрипт - это вполне возможно). Пока это все, что приходит в голову...
Да, еще - напишите, пожалуйста, о результатах.
Например:
Код: Выделить всё
$ telnet server.org | tee stdout.logКод: Выделить всё
$ telnet server.org 2>&1 | tee stdout_and_stderr.logПопробуйте эти варианты; если подойдут - хорошо.
Если нет - не все потеряно. Посмотрите man tee, man cat.
Следующий шаг - смотрим "вверх": откуда запускается шелл, запускающий telnet? Это виртуальный терминал (~ "консоль") или, что вероятней, эмулятор терминала (*term)? Можно попытаться использовать их буфер для решения задачи. Вариант дурацкий, не всегда работающий, но: отмотать к началу сессии, выделить "как раз тот самый лог" и cat`нуть его в файл. Функция ведения лога есть у некоторых эмуляторов терминала уже "внутри". Опять же man. Если не подходит, но автоматизации все же хочется - посмотрите screen (потратить много времени; ключевые слова copy mode; вначале добиться работы "вручную", потом автоматизировать, составив для screen соответствующий скрипт - это вполне возможно). Пока это все, что приходит в голову...
Да, еще - напишите, пожалуйста, о результатах.
-
Sniff
- Сообщения: 330
- ОС: Debian Lenny
Re: telnet
может достаточно файла ~/.bash_history на сервере?
-
fuzzy
- Сообщения: 175
- ОС: WinXP / ArchLinux
-
Sniff
- Сообщения: 330
- ОС: Debian Lenny
Re: telnet
Как это не сервер?
Протокол telnet - клиент-серверный протокол, сервер не может не быть
Протокол telnet - клиент-серверный протокол, сервер не может не быть
-
fuzzy
- Сообщения: 175
- ОС: WinXP / ArchLinux
-
fuzzy
- Сообщения: 175
- ОС: WinXP / ArchLinux
Re: telnet
В общем после долгой паузы вернулся к этой проблеме (долгое время не было необходимости в таких подключениях...) и неожиданно обнаружилось, что Putty есть и под Linux. Т.к. под виндой именно ей и пользуюсь, то недолго думая поставил и попробовал - всё замечательно.