TGViewer
Bash Days | Linux | DevOps Bash Days | Linux | DevOps @bashdays · 23.6K subscribers
Post #31 5.66K
Солнце палит, а мы пашем, вот такая доля наша.

Хелло май диа френдз. Сегодня попиздим поговорим про логирование и cron.

Но поговорим не про системное логирование процесса crond, а про более развернутое. Развернем наизнанку, кровь кишки, как ты любишь...

К примеру у тебя есть консольное приложение, после запуска которого, на экран выводится какой-либо результат.

Всё хорошо когда запустил ручками и посмотрел. Словил ВАУ эффект! Но если повесить эту задачу на cron, то в системном журнале ты увидишь лишь дату и время запуска.

Jul 11 00:00:01 bashdays CRON[123456]: (user) CMD (/var/www/htdocs/bin/console export:users)

Пожалуй очень информативно, правда? Ну запустился, а что произошло внутри, хуй пёс его знает.

Щас исправим и получим красивое. Достаточно в конец команды добавить:

>> /var/log/cronlogs/www-console.log

тип того:

* */1 * * * php /var/www/htdocs/bin/console export:users >> /var/log/cronlogs/www-console.log

Теперь весь выхлоп с команды console export:users будет аккуратненько логироваться в файл www-console.log. По итогу в файле получаем красоту:

Папку только не забудь создать в /var/log, а то оно дурное и не додумается само.

[2023-07-11 10:04:20] service.stats.INFO: Processing users
[2023-07-11 10:04:20] service.stats.INFO: Updating local stats
[2023-07-11 10:04:20] service.stats.INFO: Updating count users
[2023-07-11 10:04:26] service.stats.INFO: Updating total stats
[2023-07-11 10:04:26] service.stats.INFO: Export Success

По желанию грепаем нужное нам, ну и всегда остаемся в курсе событий, зная что же происходит под капотом. Кстати отлично помогает при дебаге. То что кроновская задача выполнилась, еще ни о чем не говорит, внутри может быть злобный эксепшен 😡

Да и не забываем накинуть logrotate, чтобы место на диске не сжирало бигдатой, а лучше сразу перенаправляй это дело в какой-нибудь агрегатор логов типа ELK или LOKI.

Бонусом лови конфиг для logrotate, чтоб в гугле не лопатить:

/var/log/cronlogs/www-console.log {
su root root
daily
missingok
rotate 14
compress
notifempty
sharedscripts
}

Есть ли другие способы мониторинга для подобных ситуаций? Конечно есть! Но способ который я описал выше, используется практически всеми. По крайней мере я на него натыкаюсь постоянно у ребят в различных компаниях.

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

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

В общем адью, албибэк, увидимся! 😎

tags: #linux
—
🟢 Подпишись: @bashdays
  • 👍 74
More from @bashdays
  1. Sep 29, 2026Самый жаркий холивар в команде — это не systemd, а какие заказать роллы на всю команду. Од…
  2. Sep 24, 2026Post #1565
  3. Sep 23, 2026Здрасти приехали, решил я в кой-то веке воспользоваться услугами Codex, создал аккаунт, по…
  4. Sep 22, 2026Всем привет, с вами TagdTagd. Сегодня опять поднимем тему архивов, но немного с другой сто…
  5. Sep 15, 2026Всем привет, с вами TagdTagd. И это вторая часть. Практическая. С первой частью можешь озн…
  6. Sep 11, 2026🤖 DevOps в эпоху AI трансформации: что работает уже сейчас! 17 сентября Сбер собирает Dev…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →