浏览代码

Remove the irc watchdog

Bob Mottram 8 年前
父节点
当前提交
816f83d78d
共有 2 个文件被更改,包括 24 次插入10 次删除
  1. 2
    9
      src/freedombone-app-irc
  2. 22
    1
      src/freedombone-utils-watchdog

+ 2
- 9
src/freedombone-app-irc 查看文件

@@ -144,6 +144,7 @@ function remove_irc {
144 144
     if [[ $(app_is_installed irc) == "0" ]]; then
145 145
         return
146 146
     fi
147
+    remove_watchdog_daemon ngircd
147 148
     systemctl stop ngircd
148 149
     apt-get -y remove --purge ngircd
149 150
     apt-get -y remove --purge irssi
@@ -263,15 +264,7 @@ function install_irc_server {
263 264
 
264 265
     systemctl restart ngircd
265 266
 
266
-    # keep the daemon running
267
-    echo '' >> /usr/bin/$WATCHDOG_SCRIPT_NAME
268
-    echo '# keep irc daemon running' >> /usr/bin/$WATCHDOG_SCRIPT_NAME
269
-    echo 'IRC_RUNNING=$(pgrep ngircd > /dev/null && echo Running)' >> /usr/bin/$WATCHDOG_SCRIPT_NAME
270
-    echo 'if [ ! $IRC_RUNNING ]; then' >> /usr/bin/$WATCHDOG_SCRIPT_NAME
271
-    echo '  systemctl start ngircd' >> /usr/bin/$WATCHDOG_SCRIPT_NAME
272
-    echo '  echo -n $CURRENT_DATE >> $LOGFILE' >> /usr/bin/$WATCHDOG_SCRIPT_NAME
273
-    echo '  echo " IRC daemon restarted" >> $LOGFILE' >> /usr/bin/$WATCHDOG_SCRIPT_NAME
274
-    echo 'fi' >> /usr/bin/$WATCHDOG_SCRIPT_NAME
267
+    add_watchdog_daemon ngircd
275 268
 
276 269
     if ! grep -q $"IRC Server" /home/$MY_USERNAME/README; then
277 270
         echo '' >> /home/$MY_USERNAME/README

+ 22
- 1
src/freedombone-utils-watchdog 查看文件

@@ -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