Za każdym razem, gdy wykonywane jest zadanie Crontab, wiadomość e-mail dotycząca wykonania tego zadania jest wysyłana na adres e-mail użytkownika root i.mi. identyfikator e-mail, który podałeś podczas konfigurowania demona Cron. To są domyślne ustawienia usługi Crontab. Jednak w niektórych sytuacjach użytkownicy wolą wysyłać te powiadomienia do lokalizacji innej niż identyfikator e-mail użytkownika root.
Możesz rozważyć scenariusz, w którym lider zespołu prosi podwładnego o wykonanie pracy co 4 godziny. Ilekroć ten podwładny wykonuje to zadanie, lider zespołu ma zgłosić to do CEO, jednak będzie to możliwe tylko wtedy, gdy podwładny poinformuje szefa zespołu co 4 godziny, że wykonał przydzieloną pracę. Oznacza to, że jeśli podwładny o tym zapomni, to lider zespołu będzie musiał ponieść konsekwencje.
To zadanie można uprościć, jeśli w jakiś sposób kierownik zespołu automatycznie dowiaduje się o każdym przypadku, gdy podwładny wykonuje to zadanie, bez konieczności wyraźnego informowania kierownika zespołu przez podwładnego. Na szczęście usługa Crontab w Linuksie pozwala nam to zrobić, konfigurując swój parametr MAILTO w taki sposób, aby mógł wysyłać powiadomienia do pożądanego odbiorcy. Tak więc dzisiaj porozmawiamy o sposobie konfiguracji parametru Crontab MAILTO do wysyłania powiadomień do określonej lokalizacji innej niż identyfikator e-mail użytkownika root w Linux Mint 20.
Metoda konfigurowania parametru Crontab MAILTO do wysyłania powiadomień do określonej lokalizacji:
Aby skonfigurować parametr Crontab MAILTO do wysyłania powiadomień do określonej lokalizacji w Linux Mint 20, musisz wykonać następujące kroki:
Krok nr 1: Uruchom usługę Crontab:
Najpierw musisz uruchomić usługę Crontab, aby mogła wykonywać określone zadania, uruchamiając w terminalu poniższe polecenie:
$ sudo systemctl start cron
To polecenie natychmiast uruchomi demona Cron w tle.
Krok #2: Sprawdź status pracy usługi Crontab:
Aby potwierdzić stan pracy demona Crontab, możesz uruchomić następujące polecenie w swoim terminalu:
$ sudo systemctl status cron
Jeśli demon Crontab działa, zobaczysz status „aktywny (uruchomiony)” w danych wyjściowych tego polecenia, jak pokazano na poniższym obrazku:
Krok #3: Otwórz plik Crontab za pomocą edytora Nano:
Teraz spróbujemy otworzyć plik Crontab, aby skonfigurować parametr MAILTO, uruchamiając następujące polecenie w terminalu:
$ crontab -e
Po wykonaniu polecenia crontab plik crontab otworzy się w domyślnym edytorze tekstu i.mi. edytor nano.
Krok # 4: Skonfiguruj parametr MAILTO, aby wysłać powiadomienie do określonej lokalizacji:
Teraz możesz dodać dowolne zadanie do tego pliku, aby zostało wykonane jako zadanie Crontab. W naszej sytuacji zbudowaliśmy zadanie Crontab do wykonywania co sekundę pliku bash. Jednak przed tym zadaniem należy wprowadzić poniższy wiersz, aby skonfigurować parametr MAILTO do wysyłania powiadomień do określonej lokalizacji:
MAILTO = „Adres e-mail”Tutaj musisz zastąpić EmailAddress rzeczywistym identyfikatorem e-mail osoby, do której chcesz wysłać powiadomienia Crontab. Chcieliśmy wysłać powiadomienie Crontab do „[email protected]”, jak zaznaczono na poniższym obrazku.
Czasami masz więcej niż jedno zadanie dodane do pliku Crontab i możesz chcieć wysyłać powiadomienia o każdym zadaniu na inny adres e-mail. W takim przypadku musisz dodać linię MAILTO pokazaną powyżej przed każdym zadaniem podanym w pliku Crontab i po prostu wpisać odpowiedni adres e-mail, na który chcesz wysyłać powiadomienia. W ten sposób możesz łatwo skonfigurować parametr Crontab MAILTO do wysyłania powiadomień do określonej lokalizacji.
Krok # 5: Zainstaluj nowy Crontab:
Teraz możesz zamknąć plik Crontab po jego zapisaniu. Jak tylko to zrobisz, zauważysz, że demon Cron instaluje nowy Crontab, ponieważ właśnie zmodyfikowałeś plik Crontab, konfigurując parametr MAILTO.
Krok 6: Sprawdź, czy zadanie Crontab jest wykonywane, czy nie:
Co więcej, jeśli musisz również potwierdzić, że zadanie, które właśnie dodałeś do pliku Crontab, wykonuje się pomyślnie, czy nie, możesz to nawet zrobić, uruchamiając następujące polecenie w swoim terminalu:
$ sudo grep -a “Cron.sh” /var/log/syslogTutaj, Cron.sh to nazwa pliku bash, który chcieliśmy wykonać co sekundę, podczas gdy plik /var/log/syslog w systemie Linux zawiera dziennik wszystkich zadań Crontab, które zostały wykonane do czasu uruchomienia powyższego polecenia.
Kiedy wykonasz to polecenie, zauważysz w jego danych wyjściowych, że Cron.plik sh jest faktycznie wykonywany co sekundę, jak pokazano na poniższym obrazku. Oznacza to również, że za każdym razem, gdy ten plik bash zostanie wykonany, e-mail zostanie wysłany na adres e-mail podany w parametrze MAILTO w pliku Crontab.
Wniosek:
Wykonując wszystkie kroki opisane w tym artykule, można łatwo skonfigurować parametr Crontab MAILTO w taki sposób, aby mógł wysyłać powiadomienia pocztą elektroniczną do dowolnego pożądanego odbiorcy. Parametr MAILTO można skonfigurować dla dowolnej liczby odbiorców. Innymi słowy, jeśli masz wiele zadań Crontab wymienionych w pliku Crontab, możesz łatwo mieć oddzielne parametry MAILTO dla każdego z tych zadań, aby móc wysyłać powiadomienia o wykonaniu określonego zadania do zamierzonego odbiorcy. W ten sposób możesz również oszczędzić sobie kłopotów z ręcznym informowaniem zainteresowanej osoby o wykonaniu zadania.