|
@@ -9,7 +9,8 @@
|
9
|
9
|
# Freedom in the Cloud
|
10
|
10
|
#
|
11
|
11
|
# Watchdog functions to keep systems running even if they crash
|
12
|
|
-# systemd itself may be able to handle this to a large extent
|
|
12
|
+# systemd itself can handle this, but some debian packages are in
|
|
13
|
+# twilight world where they still use the older init scripts
|
13
|
14
|
#
|
14
|
15
|
# License
|
15
|
16
|
# =======
|
|
@@ -48,4 +49,24 @@ function install_watchdog_script {
|
48
|
49
|
echo 'install_watchdog_script' >> $COMPLETION_FILE
|
49
|
50
|
}
|
50
|
51
|
|
|
52
|
+function add_watchdog_daemon {
|
|
53
|
+ daemon_name=$1
|
|
54
|
+
|
|
55
|
+ echo '' >> /usr/bin/$WATCHDOG_SCRIPT_NAME
|
|
56
|
+ echo "# keep ${daemon_name} daemon running" >> /usr/bin/$WATCHDOG_SCRIPT_NAME
|
|
57
|
+ echo "RUNNING=$(pgrep ${daemon_name} > /dev/null && echo Running)" >> /usr/bin/$WATCHDOG_SCRIPT_NAME
|
|
58
|
+ echo 'if [ ! $RUNNING ]; then' >> /usr/bin/$WATCHDOG_SCRIPT_NAME
|
|
59
|
+ echo " systemctl start ${daemon_name}" >> /usr/bin/$WATCHDOG_SCRIPT_NAME
|
|
60
|
+ echo ' echo -n $CURRENT_DATE >> $LOGFILE' >> /usr/bin/$WATCHDOG_SCRIPT_NAME
|
|
61
|
+ echo " echo \"${daemon_name} daemon restarted\" >> \$LOGFILE" >> /usr/bin/$WATCHDOG_SCRIPT_NAME
|
|
62
|
+ echo 'fi' >> /usr/bin/$WATCHDOG_SCRIPT_NAME
|
|
63
|
+ echo "# End of ${daemon_name}" >> /usr/bin/$WATCHDOG_SCRIPT_NAME
|
|
64
|
+}
|
|
65
|
+
|
|
66
|
+function remove_watchdog_daemon {
|
|
67
|
+ daemon_name=$1
|
|
68
|
+
|
|
69
|
+ sed -i "/# keep ${daemon_name} daemon running/,/# End of ${daemon_name}/d" /usr/bin/$WATCHDOG_SCRIPT_NAME
|
|
70
|
+}
|
|
71
|
+
|
51
|
72
|
# NOTE: deliberately no exit 0
|