Бывает такое, что нужно быстро собрать логи сервиса и отправить в тикет, например. Делать это вручную - долго и неудобно. Решается одним bash-скриптом.
▪️ Базовый вариант. Собираем логи systemd-сервиса и сразу архивируем:
SERVICE=nginx
OUT="/tmp/${SERVICE}-logs-$(date +%F_%H-%M).tar.gz"
journalctl -u "$SERVICE" --no-pager > /tmp/${SERVICE}.log
tar -czf "$OUT" -C /tmp "${SERVICE}.log"
rm /tmp/${SERVICE}.log
Результат: один .tar.gz с логами сервиса за все время.
▪️ Ограничение по времени. Чаще нужны не все логи, а, например, последние сутки:
journalctl -u nginx --since "24 hours ago" --no-pager > nginx.log
tar -czf nginx-logs.tar.gz nginx.log
Можно и точнее:
--since "2026-01-20 10:00" --until "2026-01-20 12:00"
▪️ Полезные флаги
-o short-iso - удобный формат времени-p err - только ошибки--boot - текущая загрузкаПример:
journalctl -u nginx -p err --since today -o short-iso
BashTex 📱 #bash