[Ubuntu] [SYSLOG] [CRON] Jak powiązać wpis logu z zadaniem CRONa


(Otak) #1

Korzystam z crona.
W pliku syslog mam wiele wpisów podobnych do poniższych.

Cytat
Aug 19 12:19:01 Host CRON[5461]: pam_unix(cron:session): session opened for user root by (uid=0)
Aug 19 12:19:01 Host CRON[5461]: pam_unix(cron:session): session closed for user root

  1. Czy pogrubione numery to numery procesów?
  2. Czy mogę powiązać numer procesu z z konkretnym zadanie cron’a? Jeżeli tak, to jak to zrobić?

(Domker) #2

PIDy są przydzielane losowo.
Poza tym widoczne tutaj PIDy dotyczą sesji crona, a nie bezpośrednio procesu, który on uruchamia.
Najprościej to wysłać log od danego zadania.

* * * * * /usr/bin/true & logger "CRONE ZADANIE #1 : PID $! ZAKOŃCZONE STATUSEM $?"

W logu wyświetli coś takiego:

sie 27 15:00:01 domker-pc domker[12362]: CRONE ZADANIE #1 : PID 12360 ZAKOŃCZONE STATUSEM 0

Pamiętaj, że PID będzie dotyczył pierwszego zadania jeżeli używasz “&&”.

Z drugiej strony to nie wiem czemu nie masz w syslogu wpisów konkretnych zadań ?
Przykładowo:

sie 27 15:00:01 domker-pc CROND[12358]: (domker) CMD (/usr/bin/nice -n 19 /usr/bin/ionice -c2 -n7 /usr/bin/backintime backup-job > /dev/null)

Takowe też powinny występować w zależności od konfiguracji.


(marcin82) #3

Może nie ma nic w tabeli crona jeszcze.


(Otak) #4

Cytat sie 27 15:00:01 domker-pc CROND[12358]: (domker) CMD (/usr/bin/nice -n 19 /usr/bin/ionice -c2 -n7 /usr/bin/backintime backup-job > /dev/null)

Mam zadania CRONa ale nie mam takich wpisów jak powyższy. Jak skonfigurować crona aby ją tworzył automatycznie?


(Domker) #5

Nie pamiętam dokładnie jak do miało się odnośnie “rsyslog”, bo ja pod Archem mam journalctl.
O ile nic się nie zmieniło to:
/etc/rsyslog.d/50-default.conf
Edytujesz i masz tam linikę:
#cron.* /var/log/cron.log

Usuń znak “#”, zapisz zmiany i zrestartuj rsysloga:
sudo systemctl restart rsyslog
Wpisz:
sudo tail -f /var/log/cron.log

I będziesz miał te wpisy, co ja po wykonaniu zadania z crontab.


(Otak) #6

@Domker- działa!

Poniżej przykładowy wpis.

Aug 28 12:15:02 Host CRON[2291]: (root) CMD (aktualizacja # | echo “Today is $(date)”)

Dzięki.


(Otak) #7

Co to za poniższe wpisy CRONa, których nie definiowałem i pojawiają się co 30 minut?

Aug 28 20:19:01 Host CRON[11269]: (root) CMD ( [
-x /usr/lib/php/sessionclean ] && /usr/lib/php/s
essionclean)


(marcin82) #8

Jaki masz dokładnie system?


(Otak) #9

Ubuntu 16.04.


(marcin82) #10

Sprawdź i podaj do jakiego pakietu należy plik:

dpkg -S /usr/lib/php/sessionclean


(Otak) #11

php-common: /usr/lib/php/sessionclean

Czy to znaczy iż intepreter PHP uruchamia CRONa?


(marcin82) #12

Pakiet instaluje taki plik:
/etc/cron.d/php
Stąd obecność w logach.


(Otak) #13

Dzięki @marcin82.