mirror of
https://github.com/eliasstepanik/ark-ac-server-tools.git
synced 2026-01-15 12:08:26 +00:00
Update systemd and upstart scripts with multi-instance support
This commit is contained in:
parent
94854f8d09
commit
92acb88fd5
@ -1496,14 +1496,18 @@ getAllInstanceNames(){
|
||||
}
|
||||
|
||||
doListAllInstances(){
|
||||
echo "The following instances are available:"
|
||||
for n in $(getAllInstanceNames); do
|
||||
(
|
||||
echo -n " @${n}: "
|
||||
useConfig "$n"
|
||||
echo "${arkserverroot}"
|
||||
)
|
||||
done
|
||||
if [ "$1" == "--brief" ]; then
|
||||
getAllInstanceNames
|
||||
else
|
||||
echo "The following instances are available:"
|
||||
for n in $(getAllInstanceNames); do
|
||||
(
|
||||
echo -n " @${n}: "
|
||||
useConfig "$n"
|
||||
echo "${arkserverroot}"
|
||||
)
|
||||
done
|
||||
fi
|
||||
}
|
||||
|
||||
useConfig() {
|
||||
@ -1638,7 +1642,7 @@ while true; do
|
||||
continue
|
||||
;;
|
||||
list-instances)
|
||||
doListAllInstances
|
||||
doListAllInstances "${options[@]}"
|
||||
exit
|
||||
;;
|
||||
--version)
|
||||
|
||||
@ -210,6 +210,7 @@ else
|
||||
if [ -f /etc/systemd/system.conf ]; then # used by systemd
|
||||
mkdir -p "${INSTALL_ROOT}${LIBEXECDIR}"
|
||||
cp systemd/arkmanager.init "${INSTALL_ROOT}${LIBEXECDIR}/arkmanager.init"
|
||||
sed -i "s|^DAEMON=\"/usr/bin/|DAEMON=\"${BINDIR}/|" "${INSTALL_ROOT}${LIBEXECDIR}/arkmanager.init"
|
||||
chmod +x "${INSTALL_ROOT}${LIBEXECDIR}/arkmanager.init"
|
||||
cp systemd/arkmanager.service "${INSTALL_ROOT}/etc/systemd/system/arkmanager.service"
|
||||
sed -i "s|=/usr/libexec/arkmanager/|=${LIBEXECDIR}/|" "${INSTALL_ROOT}/etc/systemd/system/arkmanager.service"
|
||||
@ -237,6 +238,7 @@ else
|
||||
if [ -f /etc/systemd/system.conf ]; then # used by systemd
|
||||
mkdir -p "${INSTALL_ROOT}${LIBEXECDIR}"
|
||||
cp systemd/arkmanager.init "${INSTALL_ROOT}${LIBEXECDIR}/arkmanager.init"
|
||||
sed -i "s|^DAEMON=\"/usr/bin/|DAEMON=\"${BINDIR}/|" "${INSTALL_ROOT}${LIBEXECDIR}/arkmanager.init"
|
||||
chmod +x "${INSTALL_ROOT}${LIBEXECDIR}/arkmanager.init"
|
||||
cp systemd/arkmanager.service "${INSTALL_ROOT}/etc/systemd/system/arkmanager.service"
|
||||
sed -i "s|=/usr/libexec/arkmanager/|=${LIBEXECDIR}/|" "${INSTALL_ROOT}/etc/systemd/system/arkmanager.service"
|
||||
@ -270,6 +272,7 @@ else
|
||||
elif [ -f /etc/systemd/system.conf ]; then # used by systemd
|
||||
mkdir -p "${INSTALL_ROOT}${LIBEXECDIR}"
|
||||
cp systemd/arkmanager.init "${INSTALL_ROOT}${LIBEXECDIR}/arkmanager.init"
|
||||
sed -i "s|^DAEMON=\"/usr/bin/|DAEMON=\"${BINDIR}/|" "${INSTALL_ROOT}${LIBEXECDIR}/arkmanager.init"
|
||||
chmod +x "${INSTALL_ROOT}${LIBEXECDIR}/arkmanager.init"
|
||||
cp systemd/arkmanager.service "${INSTALL_ROOT}/etc/systemd/system/arkmanager.service"
|
||||
sed -i "s|=/usr/libexec/arkmanager/|=${LIBEXECDIR}/|" "${INSTALL_ROOT}/etc/systemd/system/arkmanager.service"
|
||||
|
||||
@ -1,5 +1,14 @@
|
||||
#!/bin/bash
|
||||
|
||||
for service in main $(grep -o '^configfile_[^=]*' /etc/arkmanager/arkmanager.cfg); do
|
||||
systemctl start arkmanager@${service#configfile_}
|
||||
DAEMON=/usr/bin/arkmanager
|
||||
|
||||
for service in $(${DAEMON} list-instances --brief); do
|
||||
case "$1" in
|
||||
start)
|
||||
systemctl start arkmanager@${service}
|
||||
;;
|
||||
stop)
|
||||
systemctl stop arkmanager@${service}
|
||||
;;
|
||||
esac
|
||||
done
|
||||
|
||||
@ -1,8 +1,10 @@
|
||||
start on runlevel [345]
|
||||
stop on runlevel [!345]
|
||||
|
||||
env DAEMON="/usr/bin/arkmanager"
|
||||
|
||||
script
|
||||
for service in main $(grep -o '^configfile_[^=]*' /etc/arkmanager/arkmanager.cfg); do
|
||||
start arkmanager-instance service=${service#configfile_}
|
||||
for service in $(${DAEMON} list-instances --brief); do
|
||||
start arkmanager-instance service=${service}
|
||||
done
|
||||
end script
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user