вторник, 17 января 2023 г.

Linux Slackware создаем сервис и добавляем его автозапуск

Исторически имею несколько машин со слакой, на одной из них после перезапуска необходимо запускать OpenVPN клиент. И исторически сложилось, что это делается вручную.
Меня это в конце концов достало (раньше этим занимался не я) и наконец то дошли руки исправить данное недорозумение.

Пояснение
Я не принадлежу к поклоникам слаки, собственно этот пост пишу чтобы помнить как это делается в дальнейшем.

В данный момент клиент запускается следующей коммандой:

openvpn --config /etc/openvpn/client.conf

Чтобы на базе этой комманды сделать службу, создаем файл: /etc/rc.d/rc.openvpn Следующего содержания

#!/bin/sh

openvpn_start() {
    echo "Starting OpenVPN client"
    /sbin/modprobe tun
    /usr/sbin/openvpn --config /etc/openvpn/client.conf
}

openvpn_stop() {
    killall -9 openvpn
}

case "$1" in
    'start')
	openvpn_start
        ;;
    'stop')
	openvpn_stop
	;;
    *)
esac

Проверяем работоспособность коммандами:

/etc/rc.d/rc.openvpn start
/etc/rc.d/rc.openvpn stop

После того как все заработало, добавляем в файл /etc/rc.d/rc.inet2 секцию:

# Start OpenVPN client :
if [ -x /etc/rc.d/rc.openvpn ]; then
  . /etc/rc.d/rc.openvpn start
fi

Работоспособность проверяем перезагрузкой

Примечание
В случае необходимости запускать на одном сервере несколько клиентов или одновременно клиента и сервер OpenVPN файл /etc/rc.d/rc.openvpn следует сделать более сложным, предусмотрев команды для запуска и останова каждой конфигурации, также необходимо для каждого случая создать свою секцию запуска в /etc/rc.d/rc.inet2

Комментариев нет:

Отправить комментарий