35 lines
535 B
Bash
35 lines
535 B
Bash
#! /bin/bash
|
|
|
|
action=$1 ; shift
|
|
config=$1 ; shift
|
|
|
|
retcode=0
|
|
|
|
if test -n "$config" ; then
|
|
systemctl "${action}" "openvpn@${config}.service" || retcode=$?
|
|
else
|
|
case $action in
|
|
status)
|
|
n=0
|
|
l=`systemctl show -p ConsistsOf openvpn.target 2>/dev/null`
|
|
for s in ${l#ConsistsOf=} ; do
|
|
case $s in
|
|
openvpn@*.service)
|
|
systemctl status "$s" || retcode=$?
|
|
((++n))
|
|
;;
|
|
esac
|
|
done
|
|
if test $n -eq 0 ; then
|
|
echo 'unused' >&2
|
|
exit 3
|
|
fi
|
|
;;
|
|
*)
|
|
systemctl "${action}" "openvpn.target"
|
|
;;
|
|
esac
|
|
fi
|
|
|
|
exit $retcode
|