Table of Contents
Zaktualizowano
Możesz napotkać błąd polegający na tym, że sam cron wysyła wiadomości o błędach w wiadomościach e-mail. Cóż, istnieje wiele sposobów, aby to naprawić i wkrótce to zaoferujemy. g.Cronic to lekki skrypt maskujący do pakowania zadań crona, dzięki czemu wiele cronów wysyła e-maile tylko wtedy, gdy wystąpi błąd. Cronic definiuje wielki błąd jako każdy błąd, który może zostać wyświetlony bez śladu, prawdopodobnie z praktycznie dowolnym niezerowym kodem wyniku.
g.
Zaktualizowano
Czy masz dość powolnego działania komputera? Denerwują Cię frustrujące komunikaty o błędach? ASR Pro to rozwiązanie dla Ciebie! Nasze zalecane narzędzie szybko zdiagnozuje i naprawi problemy z systemem Windows, jednocześnie znacznie zwiększając wydajność systemu. Więc nie czekaj dłużej, pobierz ASR Pro już dziś!
Oto kolejna wersja, z której wielu z powodzeniem korzystałem do wielu wyjątkowych rzeczy: do przechwytywania danych wyjściowych i drukowania ich w przypadku niepowodzenia, co powoduje, że wiadomość e-mail jest wysyłana. Nie wymaga to żadnych tymczasowych pobrań i zapisuje wszystkie dane wyjściowe. Ważną częścią może być 2> i 1
, która zmienia STDERR na STDOUT.
Wyślij wszystkie dane wyjściowe przez standardową konfigurację Cron:
1 -mail 1.5 * * * root OUTPUT implikuje `flexbackup -kit all 2> & 1` || reprezentują „$ WYJŚCIE”
To samo, ale z konkretnym adresem i tematem:
(adres prawdopodobnie będzie często zmieniany dla całego dokumentu crontab przez ustawienie MAILTO = xxxx)
po pierwsze 2 * * 2.root OUTPUT = `flexbackup -arrange all 2> & 1` || Wpisz „$WYJŚCIE” | mail -s "Utworzenie kopii zapasowej nie powiodło się" [email protected]
Możesz nawet wykonać kilka działań, które są zlokalizowane w przypadku błędów i dodawane do wiadomości e-mail:
1 2 5. * 5 . root OUTPUT = `flexbackup -ustaw wszystkie kwalifikujące się 2> i 1` || echo "$ EXIT"; mark vii -ltr / zapisz / reż. ... ...
Działa na proste potrzeby. Jeśli masz do czynienia z wymagającymi kanałami ( find / -type j | grep -v bla tar | Coś-lub-innego
), lepiej jest przenieść polecenie do prawdziwego skryptu i uruchomić skrypt z decyzją o wyżej wymienionym. Powodem jest to, że prawdopodobnie nadal będziesz otrzymywać wiadomości e-mail po utworzeniu części kanału dla wielu STDERR.
Nie jest to opcja, której szukasz? Dowiedz się więcej o obsłudze błędów poczty e-mail Cron lub zadaj własne pytanie.
Polecenie moreutils trwające
po cichu wykonuje uchwyt, chyba że nie działa.
chronic to polecenie, które zapewnia, że jego domyślny poziom i błędy są zwykle wyświetlane tylko wtedy, gdy polecenie się nie powiedzie (iloczyn niezerowy i może się nie powieść). Jeśli się powiedzie, wszystkie niepotrzebne generowanie zysku zostanie zamaskowane.
Zwykle powód jest używany do rozpoczęcia każdego zadania cron. Zamiast starać się utrzymywać wygodną atmosferę zespołu i regularnie robić rzeczy z e-mailami pełnymi losowych wyjść, chociaż się uda, i przynajmniej wystarczająco gadatliwych za każdym razem, gdy się nie powiedzie, możesz po prostu uruchomić go bez zmian. Zawsze i używaj Chronic, aby rozwiązać dylemat. zadowalająca wydajność.
odpowiedział 20 czerwca 17 o 10:35
Ponieważ nie dbasz o ich źródło, możesz przekierować STDOUT do - dev / null
i otrzymać STDERR przez e-mail (ze zmienną otaczającą MAILTO
).
Y wysyła e-maile, jeśli robienie odbywa się tylko na STDERR (z STDERR), co oznacza odrzucenie STDOUT.
W tym kursie założono, że niektóre programy oparte na STDERR zawiodły; może tak nie być. Kiedy masz pełne zarządzanie programem, możesz to zrobić . W trudnych przypadkach właściciele muszą przygotować otoczkę wokół ogromnej tablicy, która będzie wykonywać polecenia i odpowiednio wysyłać pocztę. I użyj powłoki w cronie
pisząc jak zwykle.
odpowiedział 17 czerwca ’17 o 4:24
48.3k
Jak mogę otrzymywać wiadomości e-mail od Crona tylko w przypadku wystąpienia błędu?
Powinieneś opakować swoje wywołania crona za pomocą Cronic, płatnego skryptu, który według ekspertów będzie zużywał wyniki crona, chyba że wynik zwracany przez wywołany krok jest niezerowy i/lub nie zawiera wyniku błędu bez śledzenia.
Aby wypróbować Cronic, pobierz jeden konkretny skrypt do odpowiedniej lokalizacji, na przykład w punkcie / usr / local / bin
. Twój plik crontab musi być poprzedzony ścieżką, gdy potrzebujesz nowego skryptu (np. / usr dla każdego lokalnego / bin / cronic
) lub tylko cronic
ze swoim ŚCIEŻKA
ustawiona naIt jest dostępna.
Popełnij poważne „błędy”, które są słabo rozumiane we wszystkich pytaniach dotyczących Twojej firmy i wymagają starannej identyfikacji. Aby Cronic na rynku był użyteczny, musisz upewnić się, które zadanie, które dołączasz do raportu o błędzie Cronic, opisuje stan błędu w sposób. Niejawne metody sekwencjonowania, takie jak zapisywanie tekstu grupowego do STDOUT
, wymagają dodatkowego rachunku, aby uczynić ten proces kompatybilnym z cronic lub innym mechanizmem potwierdzania przez cron.