Letzte Zeile lesen und einfügen
Guten Tag,
ich versuche mich mal wieder ein wenig an Scripten und habe hier jetzt das Problem das ich versuche meinen Mail-Report etwas zu ordnen. Folgende Situation:
Ich habe 3 Backups mit jeweils einer Log-Datei. Diese sind einzelnd als Script mit Rsync realisiert. Nun habe ich es bisher immer so gemacht das ich ein kleines Script für den Email-Versand hatte, wo dann die Log-Dateien der Backups einfach nur angehangen wurden. Jetzt habe ich meine Backup-Scripte so geschrieben das am Ende jedes Logs ein "OK" oder ein "Fehler beim Backup" heraus kommt. Jetzt würde ich es gerne so hinbekommen das ich diese Zeile auslese und in den Mail-Report packe, anstatt das komplette Log mitzusenden.
Was verwendet man dann am besten? grep, cat, cut oder awk?
Es wird sozusagen eine Text-Datei erstellt und diese wird mit diversen Ausgaben gefüttert, danach per Mail versendet und wieder gelöscht. Was müsste ich jetzt tun damit die letzte Zeile der Logs ebenfalls in diese Text-Datei geschrieben werden?
Danke im voraus.
Gruß
ich versuche mich mal wieder ein wenig an Scripten und habe hier jetzt das Problem das ich versuche meinen Mail-Report etwas zu ordnen. Folgende Situation:
Ich habe 3 Backups mit jeweils einer Log-Datei. Diese sind einzelnd als Script mit Rsync realisiert. Nun habe ich es bisher immer so gemacht das ich ein kleines Script für den Email-Versand hatte, wo dann die Log-Dateien der Backups einfach nur angehangen wurden. Jetzt habe ich meine Backup-Scripte so geschrieben das am Ende jedes Logs ein "OK" oder ein "Fehler beim Backup" heraus kommt. Jetzt würde ich es gerne so hinbekommen das ich diese Zeile auslese und in den Mail-Report packe, anstatt das komplette Log mitzusenden.
Was verwendet man dann am besten? grep, cat, cut oder awk?
#!/bin/bash
#Variablen
MAILTEXT="./mail.txt"
EMAIL="mustermann@mail.de"
Backup1="/var/log/backup1.log"
Backup2="/var/log/backup2.log"
Backup3="/var/log/Backup3.log"
## ##
#Festplattennutzung
echo -e "---- Filesystem ----">>"$MAILTEXT"
echo -e >> "$MAILTEXT"
echo -e >> "$MAILTEXT"
df -h>>"$MAILTEXT"
echo -e >> "$MAILTEXT"
echo -e >> "$MAILTEXT"
echo -e >> "$MAILTEXT"
echo -e >> "$MAILTEXT"
#RAID STATUS
echo -e "---- Raid-Status ----">>"$MAILTEXT"
echo -e >> "$MAILTEXT"
echo -e >> "$MAILTEXT"
cat /proc/mdstat>>"$MAILTEXT"
echo -e >> "$MAILTEXT"
echo -e >> "$MAILTEXT"
echo -e >> "$MAILTEXT"
#Mail versenden
cat "$MAILTEXT" "$Backup1" "$Backup2" "$Backup3" | mail -s "Report" $EMAIL
#Mail wieder löschen
rm "$MAILTEXT"
echo 0
Es wird sozusagen eine Text-Datei erstellt und diese wird mit diversen Ausgaben gefüttert, danach per Mail versendet und wieder gelöscht. Was müsste ich jetzt tun damit die letzte Zeile der Logs ebenfalls in diese Text-Datei geschrieben werden?
Danke im voraus.
Gruß
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 294827
Url: https://administrator.de/forum/letzte-zeile-lesen-und-einfuegen-294827.html
Ausgedruckt am: 21.04.2025 um 18:04 Uhr
4 Kommentare
Neuester Kommentar

tail -n 1 /datei.log >>/zusammenfassung.log
fk

echo "Backup1: $(tail -n1 $Backup1)" >>"$MAILTEXT"