From 6f73adafe1abdebc65fea82dd8ae05a0ceb0141b Mon Sep 17 00:00:00 2001 From: Alexander Sulfrian Date: Thu, 4 Oct 2012 00:47:46 +0200 Subject: inital version --- update-motd | 39 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 39 insertions(+) create mode 100755 update-motd diff --git a/update-motd b/update-motd new file mode 100755 index 0000000..50748d0 --- /dev/null +++ b/update-motd @@ -0,0 +1,39 @@ +#!/bin/bash + +# Ueberpruefung und ueberhaupt ein Update von der motd notwenig ist: +[ /var/log/changes -nt /etc/motd ] || \ +[ /etc/motd.head -nt /etc/motd ] || \ +[ /etc/motd.tail -nt /etc/motd ] || \ +exit 0 + +# letzte 20 Zeilen in /var/log/changes ermitteln und +# ab diesen dann die naechste Blockgrenze ermitteln +START="" +COUNT=19 + +while [ -z "${START}" -a "${COUNT}" -le 30 ]; do + COUNT="$((${COUNT}+1))" + START="$(tail -n "${COUNT}" /var/log/changes | head -n 1 | grep -o '^ *---')" +done + +# temporaere Datei erstellen, +# damit die motd in einem Schritt geaendert werden kann +TMPFILE="$(mktemp -t motd.XXXXXXXXXX)" + +# falls vorhanden wird der motd die /etc/motd.head vorrangestellt +[ -r /etc/motd.head ] && cat /etc/motd.head > "${TMPFILE}" + +# Aenderungen aus der /var/log/changes in die motd schreiben +tail -n "${COUNT}" /var/log/changes >> "${TMPFILE}" + +# falls vorhanden wird an die motd die /etc/motd.tail angehaengt +[ -r /etc/motd.tail ] && cat /etc/motd.tail >> ${TMPFILE} + +# motd jetzt richtig updaten +chmod 0644 "${TMPFILE}" +mv -f "${TMPFILE}" /etc/motd + +# update timestamp +touch -c /etc/motd /var/log/changes /etc/motd.tail /etc/motd.head + +exit 0 -- cgit v1.2.3-1-g7c22