Ausgabe als Variable speichern verwirft umbrüche

Vom einfachen Programm zum fertigen Debian-Paket, Fragen rund um Programmiersprachen, Scripting und Lizenzierung.
Antworten
reox
Beiträge: 2541
Registriert: 06.06.2006 22:09:47
Lizenz eigener Beiträge: MIT Lizenz

Ausgabe als Variable speichern verwirft umbrüche

Beitrag von reox » 03.11.2008 00:55:43

Ich hab mir folgendes Skript geschrieben:

Code: Alles auswählen

cat /var/log/auth.log | grep sshd | grep "Invalid user" | cut -b41-88 | cut -d' ' -f5 | sort | uniq -c > /root/.stats/ip-temp
DIFF=$(diff /root/.stats/ip /root/.stats/ip-temp)
if [ "$DIFF" = "" ]; then
        echo "Keine Neuen Bruteforces! Juhu!" | mail -s "`date` - IPs -Nothing Changed-" $MAIL
else
        echo $DIFF | mail -s "`date` - IPs" $MAIL
fi
cat /var/log/auth.log | grep sshd | grep "Invalid user" | cut -b41-88 | cut -d' ' -f5 | sort | uniq -c > /root/.stats/ip
Mein Problem ist, die Mail kommt an und hat auch den richtigen Inhalt nur alle Umbrüche, welche normalerweise von diff gemacht werden sind in der Mail nicht mehr da. Versende ich den Output von diff direkt gehts, da kommen alle Umbrüche in die Mail. Kann man irgendwie die Variable so anpassen das die Umbrüche erhalten bleiben? Sonst ist das nen ziemliches gesuche!

Benutzeravatar
Duff
Beiträge: 6321
Registriert: 22.03.2005 14:36:03
Wohnort: /home/duff

Re: Ausgabe als Variable speichern verwirft umbrüche

Beitrag von Duff » 03.11.2008 08:06:06

Da fällt mir jetzt leider auch nichts ein, aber du könntest den Output von diff in eine temporäre Datei lenken und dessen Inhalt dann verschicken.

Die Datei könntest du mit file="tmp.$$" speichern und diese dann am Ende des Skripts wieder löschen.
Oh, yeah!

reox
Beiträge: 2541
Registriert: 06.06.2006 22:09:47
Lizenz eigener Beiträge: MIT Lizenz

Re: Ausgabe als Variable speichern verwirft umbrüche

Beitrag von reox » 03.11.2008 11:30:24

ja so gehts! Danke!

Antworten