labctl
войти регистрация

Последние строки лога

имя
tail-recent
образ
python:3.12-slim
таймаут
30с
проверка…

Задание

Последние строки лога

Дан длинный лог /app/long.log из 100 строк (line 001line 100).
Нужно получить файл /app/recent.log, содержащий только последние 10 строк,
в том же порядке (самая свежая — последней).

Симптомы

line 001
line 002
...
line 100

Лог длинный, для отчёта нужны только свежие записи. Файла /app/recent.log
ещё нет.

Требуемое состояние

/app/recent.log содержит последние 10 строк /app/long.log в исходном
порядке — то есть от line 091 до line 100 включительно.

Почему

tail -n N — стандартный способ взять конец файла: свежие логи, последние
записи таблицы, хвост выгрузки. В отличие от head, он не требует знать
общую длину.

Подсказки

Подсказки: последние строки лога

  • wc -l /app/long.log — узнать общее число строк.
  • tail -n 10 /app/long.log > /app/recent.log — последние 10 строк.
  • Порядок сохраняется автоматически: tail не переворачивает строки.
  • Проверь границы: head -n 1 /app/recent.log должно показать line 091,
    tail -n 1 /app/recent.logline 100.
  • Можно и через awk: awk 'NR>90' /app/long.log > /app/recent.log, но
    tail не требует знать общее число строк заранее.

Последние попытки

  • Загрузка…

Разовый запуск (smoke-тест)

Атомарный цикл up → check → down. Полезно для CI; без предварительной подготовки состояния проверка завершится с ошибкой.