fix console condition, restart now works
[sysadmin-cookbook] / recepies / lxc / lxc-watchdog.sh
index da013d8..d7f26a4 100755 (executable)
@@ -146,8 +146,14 @@ rootfs=$(lxc_rootfs $1)
 while true; do
        vps_utmp=${rootfs}/var/run/utmp
        tasks=`wc -l < /cgroup/${name}/tasks`
+       stop_on=1 # init
+       sulogins=`lxc-ps --name backuppc | grep sulogin | wc -l`
+       if [ "$sulogins" -gt 0 ] ; then
+               stop_on=`expr $stop_on + $sulogins`
+       fi
+
        test -z "$tasks" && exit 1
-       if [ "$tasks" -eq 1 ]; then
+       if [ "$tasks" -eq $stop_on ]; then
 
                runlevel="$(runlevel ${vps_utmp})"
                lxc_log "$name runlevel $runlevel"
@@ -175,7 +181,7 @@ while true; do
                ;;
                esac
        else
-               lxc_log "$name $tasks tasks"
+               lxc_log "$name $tasks tasks $sulogins console"
        fi
 
        # time of 5 minutes on it JUST IN CASE...