105 |
fi |
fi |
106 |
} |
} |
107 |
|
|
108 |
|
lxc_log() { |
109 |
|
echo `date +%Y-%m-%dT%H:%M:%S` $* |
110 |
|
} |
111 |
|
|
112 |
lxc_watchdog() { |
lxc_watchdog() { |
113 |
name=$1 |
name=$1 |
114 |
rootfs=$(lxc_rootfs $1) |
rootfs=$(lxc_rootfs $1) |
120 |
if [ "$tasks" -eq 1 ]; then |
if [ "$tasks" -eq 1 ]; then |
121 |
|
|
122 |
runlevel="$(runlevel ${vps_utmp})" |
runlevel="$(runlevel ${vps_utmp})" |
123 |
echo `date +%Y-%m-%dT%H:%M:%S` "$name runlevel $runlevel" |
lxc_log "$name runlevel $runlevel" |
124 |
|
|
125 |
case $runlevel in |
case $runlevel in |
126 |
N*) |
N*) |
127 |
# nothing for new boot state |
# nothing for new boot state |
128 |
;; |
;; |
129 |
??0) |
??0) |
130 |
echo "$name halt" |
lxc_log "$name halt" |
131 |
lxc-stop -n "${name}" |
lxc-stop -n "${name}" |
132 |
lxc-wait -n ${name} -s STOPPED |
lxc-wait -n ${name} -s STOPPED |
133 |
break |
break |
134 |
;; |
;; |
135 |
??6) |
??6) |
136 |
echo "$name reboot"; |
lxc_log "$name reboot"; |
137 |
lxc-stop -n ${name} |
lxc-stop -n ${name} |
138 |
lxc-wait -n ${name} -s STOPPED |
lxc-wait -n ${name} -s STOPPED |
139 |
lxc-start -d -n ${name} -o /tmp/${name}.log |
lxc-start -d -n ${name} -o /tmp/${name}.log |
145 |
;; |
;; |
146 |
esac |
esac |
147 |
else |
else |
148 |
echo "# $name $tasks tasks" |
lxc_log "$name $tasks tasks" |
149 |
fi |
fi |
150 |
|
|
151 |
# time of 5 minutes on it JUST IN CASE... |
# time of 5 minutes on it JUST IN CASE... |
152 |
inotifywait -qqt 300 ${vps_utmp} |
inotifywait -qqt 300 ${vps_utmp} |
153 |
done |
done |
154 |
|
|
155 |
echo "${name} exited" |
lxc_log "$name exited" |
156 |
|
|
157 |
} |
} |
158 |
|
|