remote checkfs.sh from squeeze
[sysadmin-cookbook] / recepies / lxc / lxc-watchdog.sh
index da013d8..9fc1600 100755 (executable)
@@ -71,6 +71,7 @@ cleanup_init_scripts() {
                $rootfs/etc/rc?.d/*umountroot \
                $rootfs/etc/rc?.d/*hwclock* \
                $rootfs/etc/rc?.d/*udev* \
+               $rootfs/etc/rc?.d/*checkfs* \
        2>/dev/null | xargs -i rm -v {}
 
        echo $1 > $rootfs/etc/hostname
@@ -146,8 +147,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 +182,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...