server.log als ausgegeben text via bash senden
Guten Tag erstmal an alle...
Ich bin auf der Suche nach einem Bash /Script/Befehl
der mir eine server.log datei ausliest und diese mir dann als "klartext"
per eMail zusendet.
Das was ich derzeit zustande bekommen habe, funktioniert nicht so ganz.
Hier einmal der Code:
/
#!/bin/bash
echo "This is an email message test"> $EMAILMESSAGE
echo "This is email text" >>$EMAILMESSAGE
/
die Zuständigen Maildaten habe ich natürlich richtig ausgefüllt
und die Datei die er auslesen soll eingetragen.
Er sendet mir diese aber immer als Anhang.
Zudem ist der Anhang immer eine Unbekannte Datei mit dem Namen
des $SUBJECT.
Wäre schön, wenn mir jemand helfen könnte.
Danke schon einmal im Voraus.
Stefan alias SaMsOn24
Ich bin auf der Suche nach einem Bash /Script/Befehl
der mir eine server.log datei ausliest und diese mir dann als "klartext"
per eMail zusendet.
Das was ich derzeit zustande bekommen habe, funktioniert nicht so ganz.
Hier einmal der Code:
/
#!/bin/bash
- script to send simple email
- email subject
- Email To ?
- Email text/message
echo "This is an email message test"> $EMAILMESSAGE
echo "This is email text" >>$EMAILMESSAGE
- send an email using /bin/mail
/
die Zuständigen Maildaten habe ich natürlich richtig ausgefüllt
und die Datei die er auslesen soll eingetragen.
Er sendet mir diese aber immer als Anhang.
Zudem ist der Anhang immer eine Unbekannte Datei mit dem Namen
des $SUBJECT.
Wäre schön, wenn mir jemand helfen könnte.
Danke schon einmal im Voraus.
Stefan alias SaMsOn24
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 93719
Url: https://administrator.de/forum/server-log-als-ausgegeben-text-via-bash-senden-93719.html
Ausgedruckt am: 25.04.2025 um 23:04 Uhr
5 Kommentare
Neuester Kommentar
Klar, du gibst eine Datei als Nachricht an, also packt er sie dazu - würde ich zumindest einfach mal tippen 
Als EMAILMESSAGE solltest du die Ausgabe von cat nutzen
Die beiden echo's habe ich mal draussen gelassen, so wie hier funktioniert das Script (zumindest bei mir ;) ).
Als EMAILMESSAGE solltest du die Ausgabe von cat nutzen
#!/bin/bash
SUBJECT="SET-EMAIL-SUBJECT"
EMAIL="logmail@domain.net"
EMAILMESSAGE=$(cat /var/log/mail.log)
EMAILMESSAGE="server.log"
/bin/mail -s "$SUBJECT" "$EMAIL" < $EMAILMESSAGE
Die beiden echo's habe ich mal draussen gelassen, so wie hier funktioniert das Script (zumindest bei mir ;) ).
Datei löschen und neu anlegen, anschließend ein chmod / chown, so dass der User unter dem das Programm läuft welches das Logfile schreibt zum Besitzer mit allen Rechten (abgesehen vom ausführen) wird.
Da oben war auch ein Fehler drinnen:
So muss es richtig heißen
Da oben war auch ein Fehler drinnen:
#!/bin/bash
SUBJECT="SET-EMAIL-SUBJECT"
EMAIL="logmail@domain.net"
EMAILMESSAGE=$(cat /var/log/mail.log)
/bin/mail -s "$SUBJECT" "$EMAIL" < $EMAILMESSAGE
So muss es richtig heißen
Vom Ablauf her mal richtig, so war es gedacht - funktioniert es denn auch?
Ich würde intuitiv nu den CHMOD nach dem CHOWN setzen.
Für eine einzelne Datei kannst du das -R auch weglassen
Ich würde intuitiv nu den CHMOD nach dem CHOWN setzen.
Für eine einzelne Datei kannst du das -R auch weglassen
rm server.log #datei löschen
touch server.log #datei erstellen
chown user:gruppe server.log #an user binden
chmod 644 server.log #rechte setzen