In diesem Artikel werfen wir einen Blick darauf, wie Linux eine E-Mail-Benachrichtigung auslösen kann, sobald eine bestimmte Bedingung erfüllt ist. Wir gehen davon aus, dass Sie ein fortgeschrittener oder fortgeschrittener Benutzer sind - was Sie sein sollten, wenn Sie E-Mail-Benachrichtigungen unter Linux einrichten möchten - und dass Sie den Mail-Client bereits installiert haben.

Es kann sehr hilfreich sein, wenn Sie eine Benachrichtigung per E-Mail erhalten. Wenn Sie beispielsweise einen großen Build im Hintergrund ausführen, ist es nicht sinnvoll, auf den Abschluss des Prozesses zu warten. In solchen Fällen können Sie sich von Linux eine Nachricht senden lassen, sobald der Build abgeschlossen ist. Es spart Ihnen viel Zeit. Sie können auch eine E-Mail-Benachrichtigung zu einer bestimmten Zeit erhalten. Wenn Sie am Abend eine Verlobung haben, können Sie es in Linux programmieren, damit Sie es nicht vergessen!

Sehen wir uns zunächst einmal an, wie Sie eine E-Mail an sich selbst senden können. Der Befehl dafür lautet " mailx " oder " mail ". Dieser Befehl kann auf Ihrem System anders sein, abhängig von der Version von Linux, die Sie ausführen (und es funktioniert nur, wenn der Server richtig eingerichtet wurde). Die Befehlssyntax lautet:

 mailx -s "dein Thema" [email protected] <<< "deine Nachricht" 

Sie können auch eine Datei anhängen, wenn Sie möchten

 mailx -s "Ihr Betreff" [email protected] <Dateiname.txt 

Linux zum Auslösen einer E-Mail-Benachrichtigung veranlassen

Jetzt können wir den obigen Befehl mit einer bedingten Anweisung verknüpfen. Das heißt, wenn die Bedingung erfüllt ist, wird eine E-Mail an Sie gesendet. Geben Sie Folgendes in die Befehlszeile ein:

 condition_when_done date | mailx -s "Betreff" [email protected] <<< "Ihre Nachricht" 

Dies kann auch auf andere Weise geschehen. Schauen wir uns ein anderes Beispiel an. Was wäre, wenn Sie auf die Antwort eines Servers warten würden? Sie können entweder Befehle in der Shell eingeben oder Sie erhalten eine E-Mail-Benachrichtigung, wenn der Server aufwacht. Sie können diesen Befehl verwenden, zum Beispiel:

 während:; date Datum; ping -c1 Servername && Pause; \erledigt; mail 

Wenn Sie genau hinsehen, ist der obige Code eine Endlosschleife. Wenn Ihr System den Server (Servername) anpingt, wird die Schleife unterbrochen und eine E-Mail wird an Sie gesendet. Sie müssen nicht warten, bis ein Server hochgefahren oder aktualisiert wurde.

Wenn Sie sich Sorgen machen, dass Systemressourcen ausgegeben werden, können Sie das System in den Ruhezustand versetzen, indem Sie den Befehl ein wenig anpassen:

 während:; date Datum; ping -c1 Servername && Pause; Schlaf 200; \erledigt; mail 

In diesem Fall wird der Computer 200 Sekunden lang schlafen, bevor er einen neuen Zyklus ausführt. Sie erhalten auch regelmäßig alle paar Sekunden eine Warnung (dass die Schleife funktioniert).

Sie können praktisch jeden Shell-Befehl als Bedingung verwenden (solange es sinnvoll ist und Ihr System nicht überlastet):

 während:; date Datum; the_command_to_be_executed && break; \erledigt; mail 

Was ist, wenn Sie sich zu einem bestimmten Zeitpunkt an einem bestimmten Datum E-Mails senden möchten? Sie können den obigen Befehl etwas ändern:

 während [Datum + "% T" -gt '06: 00: 00 ']; date Datum; the_command_to_be_executed && break; \erledigt; mail 

Wenn Sie Benachrichtigungen erhalten möchten, wenn Sie eine E-Mail auf Ihrem Linux-System erhalten, können Sie Anwendungen installieren, die E-Mail-Benachrichtigungen unterstützen. Zwei der beliebtesten Anwendungen sind PopTray Minus und Mail Notification.

Sie können mit den oben angegebenen Befehlen experimentieren. Die Prämisse ist einfach - entwerfen Sie einfach eine Bedingungserklärung, die, wenn sie erfüllt ist, eine E-Mail-Warnung auslöst. Wenn Sie weitere Informationen oder Hilfe zur Verwendung von mailx benötigen, geben Sie einfach " mailx --help " ein, um die Hilfe anzuzeigen.

Image Credit: Tux Flagge Linux Pinguin rot winken, grauer Postumschlag weißen Postbrief, Erinnerungserinnerungen Erinnerung dimensionale Kontrolle