summaryrefslogtreecommitdiffhomepage
path: root/contrib/package/freifunk-watchdog/files
diff options
context:
space:
mode:
Diffstat (limited to 'contrib/package/freifunk-watchdog/files')
-rwxr-xr-xcontrib/package/freifunk-watchdog/files/freifunk-watchdog.init17
1 files changed, 11 insertions, 6 deletions
diff --git a/contrib/package/freifunk-watchdog/files/freifunk-watchdog.init b/contrib/package/freifunk-watchdog/files/freifunk-watchdog.init
index 1cce46b4af..1f87bf744f 100755
--- a/contrib/package/freifunk-watchdog/files/freifunk-watchdog.init
+++ b/contrib/package/freifunk-watchdog/files/freifunk-watchdog.init
@@ -6,15 +6,20 @@ BIN=/usr/sbin/ffwatchd
boot()
{
- if ! grep -q "$BIN" /etc/crontabs/root 2>/dev/null; then
- echo "* * * * * $BIN running || /etc/init.d/freifunk-watchdog restart" >> /etc/crontabs/root
- fi
+ # If watchdog service is enabled, install cronjob, create device node and start daemon
+ if /etc/init.d/freifunk-watchdog enabled 2>/dev/null; then
+ if ! grep -q "$BIN" /etc/crontabs/root 2>/dev/null; then
+ echo "* * * * * $BIN running || /etc/init.d/freifunk-watchdog restart" >> /etc/crontabs/root
+ fi
- if lsmod | grep -q softdog; then
mknod /dev/watchdog c 10 130
- fi
- start
+ start
+
+ # If service is disabled, find and remove related cronjob
+ elif grep -q "$BIN" /etc/crontabs/root 2>/dev/null; then
+ sed -i -e "\\'$BIN'd" /etc/crontabs/root
+ fi
}
start()