Erstanwender hier.Benötigt wget zum Schreiben in 2 Dateien
Linux Spike 4.4.36-Server-2.mga5 # 1 SMP Di 6. Dezember 17.32.56 UTC 2016 x86_64 x86_64 x86_64 GNU/Linux
GNU Wget 1.15 gebaut auf Linux-Gnu
GNU bash, Version 4.3.48 (1) -release (x86_64-mageia-linux-gnu)
ich einen cron-Job habe, die wget eine Datei herunterzuladen, verwendet. Einfache Arbeit. Ich möchte die Bestätigung dieses Jobs in meiner E-Mail sehen. Ich bin teilweise erfolgreich darin gewesen, dies zum Laufen zu bringen, aber die E-Mail erscheint mit der Ausgabe von Cron und nicht mit den wget-Protokollinformationen. Hier ist ein Beispiel.
Der Cron-Job:
/usr/local/bin/update_clouds.sh ; /usr/bin/mail -s "Attempted Cloud Update" -r [email protected] [email protected] < /usr/share/xplanet/logs/update_clouds.txt
Das Shell-Skript (update_clouds.sh) dieses Cron-Job initialisiert tut dies:
wget --user=<usr> --password=<passwd> -O /usr/share/xplanet/images/clouds.jpg http://xplanetclouds.com/clouds/2048/clouds_2048.jpg -a /usr/share/xplanet/logs/clouds.log
das funktioniert, aber meine E-Mail trägt die gesamte wget log (/usr/share/xplanet/logs/clouds.log) im Körper. Ich möchte nur die letzte Transaktion in dieser E-Mail angezeigt werden.
Anfangs dachte ich, ich könnte beide Protokolloptionen von wget verwenden, -o und -a. Ich könnte an das Systemprotokoll anhängen und die Datei, die ich möchte, in den Text meiner E-Mail überschreiben, aber das funktioniert nicht. Wget verwendet nur die letzte Option in der Befehlszeile, nicht beide.
Ich habe eine Lösung, in der ich nur willkürlich die letzten 30 Zeilen aus wget's Log gezogen und das geschickt. Es hat funktioniert, aber es ist ineffizient und hässlich. Es sieht so aus:
/usr/local/bin/update_clouds.sh ; tail -30 /usr/share/xplanet/logs/clouds.log > /usr/share/xplanet/logs/update_clouds.txt ; /usr/bin/mail -s "Attempted Cloud Update" -r [email protected] [email protected] < /usr/share/xplanet/logs/update_clouds.txt
Ich versuchte mit "tee", aber das funktioniert auch nicht. Es scheint, als ob Tee nichts passiert und eine leere Datei erzeugt. Ich bekomme die E-Mail, aber da ist nichts im Körper. Ich habe noch nie zuvor Tee benutzt und bin mir nicht sicher, ob ich es verstanden habe.
Wenn Sie so weit gelesen haben, haben Sie vielleicht bemerkt, dass es viele Möglichkeiten gibt, diese Katze zu häuten. Meine Präferenz ist wget Download der Datei und analysieren Sie die Protokolldatei, und dann cron, um nur den Befehl auszuführen und senden Sie die E-Mail.
Wenn Sie denken, dass meine Herangehensweise falsch ist, lassen Sie es mich bitte wissen, wenn es eine einfachere, funktionellere und ökonomischere Art gibt, dies zu tun, bin ich bereit, es zu betrachten.
Jede Hilfe wird geschätzt.
Mark