Dynamisch generierte E-Mails werden stündlich vom Server gesendet


1

Unter Debian 8.9

Ich möchte meine IP-Adresse überprüfen und jede Stunde eine E-Mail senden.

was ich machen will ist

1.Überprüfen Sie die IP-Adresse meines Servers -> curl globalip.me 2.Senden Sie die IP-Adresse per E-Mail.

A. Ich kann E-Mails über die Befehlszeile senden. B. Ich weiß, wie man Crond einrichtet.

A erfordert jedoch eine manuelle Reaktion, sodass ich nicht weiß, wie A in der B-Einstellung verwendet wird.

Gibt es einen guten Weg?


fyi; Wenn Sie versuchen, die öffentliche Adresse Ihres Servers im Auge zu behalten, möchten Sie DNS dynamisch aktualisieren und keine E-Mail senden.
Sirex

Antworten:


0

cron sendet die Ausgabe eines Prozesses an alles, was in der Variablen MAILTO angegeben ist. Sie können curl ausführen oder Ihre IP mit einer beliebigen Anzahl von Tools finden.

Noch wichtiger ist, dass Sie sicherstellen, dass Ihr System E-Mails senden und dort annehmen kann, wo Sie sie lesen möchten. Wenn Sie über DHCP eine öffentliche IP erhalten, blockiert Ihr ISP möglicherweise SMTP. Testen Sie dies mit etwas Einfachem wie einem Cron-Eintrag, um den Hostnamen oder etwas Ähnliches zu senden.


0

curl globalip.me | mail -s "my new ip" yourmail@example.com

Hier -s "my new ip"ist Betreff der Nachricht. Möglicherweise möchten Sie man mailweitere Optionen wie E-Mail für "CC" - oder "BCC" -Felder usw. ausprobieren .


0

Wenn Sie möchten, dass Ihr internes Netzwerk / Ihre private IP-Adresse (und nicht die öffentliche, die Sie mit dem Befehl curl in der Antwort von ~ Putnik erhalten haben), können Sie sie verwenden

ip r | grep -i wlp3s0 | grep -i src | cut -d' ' -f9  
#note, the wlp3s0 interface name could/will be different on your machine

dann, wie Putnik zu Recht antwortet, leiten Sie das in die Post ...

ip r | grep -i wlp3s0 | grep -i src | cut -d' ' -f9  | mail -s "$HOSTNAME new ip" yourmail@example.com

als nächstes müssen wir diesen befehl zu ihrer crontab hinzufügen, also

vim /etc/crontab

und zur letzten Zeile hinzufügen ...

0 * * * * <$YOUR_USER_NAME> ip r | grep -i wlp3s0 | grep -i src | cut -d' ' -f9  | mail -s "$HOSTNAME new ip" yourmail@example.com 

BONUS :: Cronjobs können scheitern! Überwachen Sie Ihren wichtigen Cronjob, indem Sie das folgende Snippet am Ende des Crontab-Eintrags einfügen. Stellen Sie sicher, dass Sie die durch Ihre E-Mail-Adresse und einen Namen für Ihren Cronjob ersetzen. Sollte Ihr Cron-Job fehlschlagen oder nicht starten, erhalten Sie eine Alarm-E-Mail.

&& curl -sm 30 k.wdt.io/<email-address>/<cronjob-name>?c=0_*_*_*_*
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.