Gdzie idzie wyjście zadań `at` i` cron`?


9

Gdzie idzie standardowe wyjście ati cronzadania, skoro nie ma ekranu do wyświetlenia?

Nie pojawia się w katalogu, z którego uruchomiono zadania, ani w moim katalogu domowym.

Jak właściwie to rozgryźć, skoro nie wiem, jak debugować lub śledzić zadanie w tle?


Dane wyjściowe są zwykle wysyłane pocztą e-mail.
donothings udane

Polecam mutt, „mały, ale bardzo wydajny klient poczty tekstowej”, aby odczytać dane wyjściowe. Jest w repozytoriach dla każdej dystrybucji, z której korzystałem.
kwarrick

Odpowiedzi:


10

Ze strony man crona:

Podczas wykonywania poleceń wszelkie dane wyjściowe są wysyłane do właściciela crontab (lub do użytkownika wymienionego w zmiennej środowiskowej MAILTO w crontab, jeśli taka istnieje). Kopie potomne crona uruchamiającego te procesy mają nazwę wymuszoną na wielkie litery, co będzie widoczne w danych wyjściowych syslog i ps.

Powinieneś więc sprawdzić pocztę / root lub syslog (np. / Var / log / syslog).


Na moim Macu po wywołaniu „cron” wyświetliła ścieżkę do „e-maila”. W moim przypadku był to / var / mail / <nazwa użytkownika>.
Cédric Guillemette,

4

W przypadku długotrwałych procesów czasem warto wiedzieć, jakie są dane wyjściowe, zanim otrzymasz wiadomość e-mail, zamiast tego używam:

  1. Użyj, psaby znaleźć identyfikator procesu uruchomionego programu ( PID poniżej);
  2. użyj, lsofaby znaleźć plik, w którym zapisywane jest wyjście:

    lsof -p PID
    

W danych wyjściowych poszukaj linii 1ui 2upod FDnagłówkiem kolumny.

Te wiersze powiedzą, do jakich plików tymczasowych wchodzi wyjście procesu przed wysłaniem pocztą. Zazwyczaj atplik znajduje się pod /var/spool/cron/atjobs/. Na koniec wyświetl ten plik, a znajdziesz wyjście (bieżące) procesu.


pliki poniżej 1ui 2usą typu UNIX. Zgaduję, że są to gniazda UNIX. Jak mogę teraz przeglądać pliki?
kapad
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.