evobackup/lib/bkctld-stop

33 lines
743 B
Plaintext
Raw Normal View History

2019-01-04 13:51:05 +01:00
#!/bin/sh
#
# Stop jail <jailname> or all
# Usage: stop <jailname>|all
#
2019-01-04 13:51:05 +01:00
2020-04-01 11:23:35 +02:00
# shellcheck source=./config
2020-04-02 00:31:57 +02:00
LIBDIR="$(dirname $0)" && . "${LIBDIR}/includes"
2019-01-04 13:51:05 +01:00
2020-04-02 01:07:12 +02:00
jail_name="${1:-}"
if [ -z "${jail_name}" ]; then
"${LIBDIR}/bkctld-help" && exit 1
fi
2020-04-02 01:07:12 +02:00
jail_path=$(jail_path "${jail_name}")
2019-01-04 13:51:05 +01:00
2020-04-02 01:07:12 +02:00
test -d "${jail_path}" || error "${jail_name}: jail is missing."
"${LIBDIR}/bkctld-is-on" "${jail_name}" || exit 0
pid=$(cat "${jail_path}/${SSHD_PID}")
2019-01-04 13:51:05 +01:00
for conn in $(ps --ppid "${pid}" -o pid=); do
kill "${conn}"
done
2020-04-02 01:07:12 +02:00
if kill "${pid}"; then
notice "${jail_name}: jail has been stopped [${pid}]"
umount --lazy --recursive "${jail_path}/dev"
umount --lazy "${jail_path}/proc/"
else
error "${jail_name}: failed to stop jail [${pid}]"
fi