Hallo liebe Ubuntu Freunde,
ich möchte euch gerne mein Bash-Script vorstellen, was mir jetzt sehr dabei hilft, von unterwegs aus meinen kleinen vServer mit Ubuntu-Server zu überwachen.
1 2 3 4 5 6 7 | #!/bin/bash DATUM="$(date +%d.%m.%Y) $(date +%H:%M)" tail -n 80 /var/log/apache2/error.log > /var/log/apache2/error_tail.log mail -s "Apache-Error Log $DATUM" webmaster@meinedomain.de < /var/log/apache2/error_tail.log |
Die Experten werden wohl schnell erkennen, was es macht...
Ich habe es als Cronjob in die crontab eingebunden und bekomme somit alle 3-Stunden die letzten 80-Zeilen vom Apache error.log zugeschickt. Sehr hilfreich, um Hack-Versuche oder Fehler zu erkennen etc...
1 | 0 0,3,6,9,12,15,18,21 * * * root /bin/bash --login /etc/init.d/logmail/apache-errorlog.sh>/dev/null 2>&1 |
Mein Smartphone habe ich nämlich immer dabei - und so kann ich von unterwegs meine Apache-Logfiles lesen. Ja, vielleicht klein, aber fein dieses Script, wie ich finde.
Es ist natürlich auch universell einsetzbar, muss ja nicht zwingend der Apache sein... Bin gestern zufällig auf den mail -s Befehl gestoßen und da kam mir die Idee 😉
Und die Ausgabe an /dev/null ist nur dafür da, dass ich nicht ständig eine root-Mail auf der Konsole bekomme.
Wenn ich das Script in die Crontab jedoch ohne /bin/bash --login einbinde, dann funktioniert es nicht.
(Ausführlich getestet)
Kann mir jemand sagen, wie ich das Script anpassen müsste, damit es auch ohne diesen --login String über die Crontab aufgerufen werden kann?
Danke für die Hilfe, wenn es keiner weiß, ist es auch nicht schlimm,
ich wollte euch hauptsächlich mal das Script vorstellen!
LG Oliver