Gdzie są przechowywane dzienniki cron na Ubuntu 14.04?

12

Próbuję rozwiązać problem, dlaczego czasami moje zadanie cron nie działa. Gdzie domyślnie Cron przechowuje pliki dziennika? Czy to jest / var / log / syslog?

Przejrzałem ten plik i jest pusty. Czy muszę coś skonfigurować?

timbram
źródło

Odpowiedzi:

23

Domyślnie dzienniki crona są zapisywane w / var / log / syslog. To zależy od konfiguracji rsyslogd. Możesz to zmienić:
Przejdź do konfiguracji rsyslog

cd /etc/rsyslog.d/
sudo nano 50-default.conf

Niepożądana linia:

# cron. * /var/log/cron.log

Zapisz plik i zrestartuj rsyslog

restart rsyslog usługi sudo 

Uruchom ponownie demona crona, aby otrzymać wiadomości z nowego pliku

restart cron usługi sudo
Dexter Morganov
źródło
7

Kiedy cronnie działa, wyśle ​​wiadomość do użytkownika root. Jedyny problem to: nie masz oprogramowania do wysyłania / przechowywania poczty w skrzynkach pocztowych.

Ale nie bój się, Postfixjest tutaj!

Zainstaluj Postfix

sudo apt-get update
sudo apt-get install postfix heirloom-mailx

Podczas instalacji postfixpojawi się pytanie, jak chcesz go skonfigurować. Na pierwszym ekranie wybierz local onlyi przejdź do ustawień domyślnych dla wszystkich innych elementów.

Konfigurowanie Postfix

Teraz, używając swojego ulubionego edytora, edytuj /etc/aliases. Na początku będzie wyglądać mniej więcej tak:

# Zobacz format pseudonimów man 5
postmaster: root

Oznacza to, że każda wysłana poczta postnasterzostanie teraz również wysłana root. W takim przypadku chcemy, aby każda poczta wysłana na root(dla wiadomości Cron i każdej innej poczty systemowej) została wysłana do username(nas).

Tak, edytuj, /etc/aliasesaby wyglądać następująco:

# Zobacz format pseudonimów man 5
postmaster: root
root: norman

( normanOczywiście zastąp swoją nazwą użytkownika. Chyba że masz taką samą nazwę / nazwę użytkownika jak ja. :))

Po tym wszystkim powiedziano i zrobiono, uruchom następujące polecenie do pushzmian:

nowości sudo

Teraz po tym uruchomieniu:

sudo dpkg-rekonfiguruj Postfiks

Otrzymasz ten sam ekran, który miałeś wcześniej podczas instalacji postfix. Uruchom domyślne ( Local Onlyitp.). Kiedy przejdziesz do części, w której prosi się o alias root i postmaster, po prostu upewnij się, że jest taki sam jak ten, który dodałeś /etc/aliasespowyżej. Następnie kontynuuj przeglądanie ustawień domyślnych.

Po zakończeniu uruchom następujące polecenie, aby uruchomić ponownie postfixi rozpocząć!

restart postfix usługi sudo

Wniosek

Teraz, jeśli cron ma błąd, zostanie wysłany do ciebie. Ale zapewne zastanawiasz się, jak, u licha, sprawdzam swoją (lokalną) pocztę?

Aby to zrobić, uruchom polecenie:

Poczta

Tak prosty. Jeśli nie będzie żadnej poczty, to powie No mail for <username>. W przeciwnym razie otrzymasz czysty interfejs terminala do użycia. Zobacz stronę podręcznika, aby uzyskać informacje na temat interakcji ze skrzynką odbiorczą.

Lub, jeśli wolisz, możesz uzyskać dostęp do lokalnej strony podręcznika użytkownika, używając:

poczta męska

A teraz gotowe! :)

PS Należy przeczytać to, aby dowiedzieć się więcej na temat cronproblemu.


źródło
1
crondwysyła wiadomość e-mail do właściciela zadania, niekoniecznie użytkownika root, więc jeśli jest to Twoja własna praca, którą zainstalowałeś crontab -e, otrzymasz wiadomość. Jest to również prawdą, niezależnie od tego, czy zadanie „nie powiedzie się” ... po prostu przesyła Ci e-mailem transkrypcję dowolnego wyniku, jaki miało zadanie.
psusi
0

Podczas działania mailotrzymałem następującą odpowiedź:

The program 'mail' is currently not installed. To run 'mail' please ask your administrator to install the package 'mailutils'

Zamiast tego znalazłem zapisane w nim błędy / wiadomości e-mail /var/mail/root

Chris Stryczyński
źródło
-1

Jest /var/log/syslogdomyślnie włączony.

Ale można go skonfigurować, aby utworzyć osobny plik cron.log, co jest bardziej przydatne.

Niniejsze pytania i odpowiedzi opisują proces:

16.04: Jak sprawić, aby cron utworzył cron.log i monitorował go w czasie rzeczywistym?

Również w tej odpowiedzi znajdują się instrukcje tworzenia wcronpolecenia, które wyświetla je prawie w czasie rzeczywistym. Ponadto łączy się z inną odpowiedzią,

Jak zmienić poziom dziennika cron?

pokazuje, jak zmienić poziom dziennika, aby obejmował coś więcej niż tylko rozpoczęcie zadań - poziom 15 pokaże również błędy i czas zakończenia.

SDsolar
źródło