if ! lxc-info -n $name | grep RUNNING ; then
lxc_log "$name start"
- mount $rootfs -o remount,rw # fix debian upgrade which remounts dir ro
+ dev=`df -P $rootfs | tail -1 | cut -d" " -f1`
+ mount $dev -o remount,rw # fix debian upgrade which remounts dir ro
lxc-start -n $name -o /tmp/${name}.log -d
lxc-wait -n $name -s RUNNING
lxc-info -n $name
lxc_watchdog() {
name=$1
rootfs=$(lxc_rootfs $1)
+run=$rootfs/var/run
+test -L $run && run=$rootfs/`readlink $run` # recent Debian have symlink to /run
+cd $run || echo "can't cd watchdog into $run"
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`
+ sulogins=`lxc-ps --name $name | grep sulogin | wc -l`
if [ "$sulogins" -gt 0 ] ; then
stop_on=`expr $stop_on + $sulogins`
fi
test -z "$tasks" && exit 1
if [ "$tasks" -eq $stop_on ]; then
- runlevel="$(runlevel ${vps_utmp})"
+ runlevel="$(runlevel utmp)"
lxc_log "$name runlevel $runlevel"
case $runlevel in
N*)
# nothing for new boot state
;;
- ??0)
+ ??0|unknown)
lxc_log "$name halt"
lxc-stop -n "${name}"
lxc-wait -n ${name} -s STOPPED
fi
# time of 5 minutes on it JUST IN CASE...
- inotifywait -qqt 300 ${vps_utmp}
+ inotifywait -qqt 300 utmp
done
lxc_log "$name watchdog exited"