summaryrefslogtreecommitdiff
path: root/doalogwatch.in
diff options
context:
space:
mode:
Diffstat (limited to 'doalogwatch.in')
-rwxr-xr-xdoalogwatch.in34
1 files changed, 34 insertions, 0 deletions
diff --git a/doalogwatch.in b/doalogwatch.in
new file mode 100755
index 0000000..c479cbf
--- /dev/null
+++ b/doalogwatch.in
@@ -0,0 +1,34 @@
+#!/bin/bash
+
+# doalogwatch, part of logwatch-extra version #VERSION#
+
+abWannNaechstesMal="$(date +%F)"
+lmDatei="#CACHEDIR#/logwatch/letzteMeldung"
+
+[ "${abWannNaechstesMal}" == "$(cat "${lmDatei}")" ] && exit 0
+
+warteAufFile="#WAITDIR#/logwatch"
+touch ${warteAufFile} || exit 1
+
+[ $(cat /proc/uptime | cut -d ' ' -f 1 | sed "s/\..*\$//") -gt 300 ] || exit 11
+
+# check for currently running backups
+ps aux | grep -v "\sgrep\s" | grep -q "\s\(#BINDIR#/\)\?backup\s" && exit 11
+if [ -x #ETCDIR#/backup.conf ]
+then
+ . #ETCDIR#/backup.conf
+ for i in 1 2
+ do
+ for id in "${!backups[@]}"
+ do
+ [ -e "#TMPDIR#/${id}.pid" ] && exit 11
+ done
+ sleep 1
+ done
+fi
+
+logwatch --archives --range "between $(cat "${lmDatei}") and yesterday" || exit 2
+
+echo "${abWannNaechstesMal}" > "${lmDatei}"
+
+rm -f ${warteAufFile} || exit 1