TGStat
TGStat
Введите текст для поиска
Расширенный поиск каналов
  • flag Russian
    Язык сайта
    flag Russian flag English flag Uzbek
  • Вход на сайт
  • Каталог
    Каталог каналов и чатов Региональные подборки Тематические подборки Платные каналы Поиск каналов
    Добавить канал/чат
  • Рейтинги
    Рейтинг каналов Рейтинг чатов Рейтинг публикаций
    Рейтинги брендов и персон
  • Аналитика
  • Поиск по публикациям
  • Мониторинг Telegram
  • Продвижение
    Реклама через Яндекс Бизнес Реклама в каналах через TGStat Agency Реклама на сайте TGStat.ru
Linux Ready | DevOps

13 Aug, 15:10

Открыть в Telegram Поделиться Пожаловаться

Как записать терминальную сессию Linux для последующего анализа с помощью script?

Во время диагностики проблемы или разбора инцидента часто нужно сохранить не только команды, но и весь процесс работы в терминале. История оболочки показывает только введённые команды, а > или tee не сохраняют полноценную интерактивную работу приложений. Для таких задач используется утилита script из пакета util-linux.

Она создаёт псевдотерминал (PTY) и записывает вывод терминальной сессии: результаты выполнения команд, вывод программ, работу интерактивных приложений и управляющие последовательности терминала. При необходимости отдельно можно сохранить и поток ввода пользователя. Начать запись:
script session.log

После запуска открывается новая интерактивная shell-сессия через PTY, а происходящее в терминале сохраняется в файл session.log. Завершить запись:
exit

или:
Ctrl+D

Если нужно сохранить интервалы времени между действиями для последующего воспроизведения:
script --log-timing=session.time session.log

Воспроизведение:
scriptreplay --timing=session.time session.log

Это удобно для разбора ошибок, демонстрации диагностики или анализа длительных операций.

Можно отдельно сохранить ввод пользователя, вывод терминала и временные интервалы:
script \
--log-in=input.log \
--log-out=output.log \
--log-timing=timing.log

Будут созданы три файла: input.log — поток ввода пользователя, output.log — вывод терминала и timing.log — временные интервалы между событиями.

Важно: --log-in сохраняет именно ввод пользователя, поэтому туда могут попасть пароли, токены и другие чувствительные данные. Если нужен только вывод терминала:
script --log-out=session.log

Проверить журнал:
less session.log

Поиск ошибок:
grep "ERROR" session.log

Если лог содержит ANSI escape sequences или управляющие символы терминала, отображение может выглядеть некорректно. Так как script работает через PTY, это запись терминальной сессии, а не полноценный аудит действий пользователя. Для безопасности и контроля действий обычно используют специализированные инструменты, например auditd или системы session recording.

🔥 script — простой способ сохранить интерактивную терминальную сессию Linux без изменения привычного рабочего процесса. PTY позволяет получить один из самых полных вариантов сохранения контекста для анализа и разбора инцидентов.

🚪 Linux Ready | #практика

2.1k 0 39 33
Каталог
Каталог каналов и чатов Подборки каналов Поиск каналов Добавить канал/чат
Рейтинги
Рейтинг каналов Telegram Рейтинг чатов Telegram Рейтинг публикаций Рейтинги брендов и персон
API
API статистики API поиска публикаций API Callback
Наши каналы
@TGStat @TGStat_Chat @telepulse @TGStatAPI
Почитать
Академия TGStat Исследование Telegram 2019 Исследование Telegram 2021 Исследование Telegram 2023
Контакты
Справочный центр Поддержка Почта Вакансии
Всякая всячина
Пользовательское соглашение Политика конфиденциальности Публичная оферта
Наши боты
@TGStat_Bot @SearcheeBot @TGAlertsBot @tg_analytics_bot @TGStatChatBot