Gdzie idzie standardowe wyjście at
i cron
zadania, 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?
Odpowiedzi:
Ze strony man crona:
Powinieneś więc sprawdzić pocztę / root lub syslog (np. / Var / log / syslog).
źródło
W przypadku długotrwałych procesów czasem warto wiedzieć, jakie są dane wyjściowe, zanim otrzymasz wiadomość e-mail, zamiast tego używam:
ps
aby znaleźć identyfikator procesu uruchomionego programu (PID
poniżej);użyj,
lsof
aby znaleźć plik, w którym zapisywane jest wyjście:W danych wyjściowych poszukaj linii
1u
i2u
podFD
nagłówkiem kolumny.Te wiersze powiedzą, do jakich plików tymczasowych wchodzi wyjście procesu przed wysłaniem pocztą. Zazwyczaj
at
plik znajduje się pod/var/spool/cron/atjobs/
. Na koniec wyświetl ten plik, a znajdziesz wyjście (bieżące) procesu.źródło
1u
i2u
są typuUNIX
. Zgaduję, że są to gniazda UNIX. Jak mogę teraz przeglądać pliki?