Запуск nullmailer в NetBSD с помощью daemontools
В этой статье предполагается, что в системе NetBSD уже установлен и настроен nullmailer
, который запускается с помощью скрипта /etc/rc.d/nullmailer
. Подробнее о настройке nullmailer
в NetBSD можно почитать в статье Настройка nullmailer в NetBSD.
Также в этой статье предполагается, что в системе уже установлен и настроен пакет daemontools
. Установка и настройка пакета описана в главе Установка daemontools статьи Запуск Gitea в NetBSD с помощью daemontools.
Создаём каталог сервиса /service/.nullmailer
:
# mkdir -p /service/.nullmailer/
Создадим внутри него файл run со следующим содержимым:
#!/bin/sh
exec 2>&1
if [ ! -f /usr/pkg/etc/nullmailer/remotes ]
then
echo "Missing /usr/pkg/etc/nullmailer/remotes"
exit 1
fi
if [ ! -d /var/spool/nullmailer/queue ]
then
echo "No /var/spool/nullmailer/queue"
exit 2
fi
if [ ! -d /var/spool/nullmailer/tmp ]
then
echo "No /var/spool/nullmailer/tmp"
exit 3
fi
exec \
setuidgid nullmail \
/usr/pkg/libexec/nullmailer/nullmailer-send
И сделаем его исполняемым:
# chmod +x /service/.nullmailer/run
Создадим каталог /service/.nullmailer/log/
:
# mkdir /service/.nullmailer/log/
Создадим внутри него скрипт run
со следующим содержимым:
#!/bin/sh
exec \
setuidgid multilog \
multilog t /var/log/nullmailer/
И сделаем его исполняемым:
# chmod +x /service/.nullmailer/log/run
Теперь создадим каталог /var/log/nullmailer
, в котором multilog
будет вести журналы работы сервиса:
# mkdir /var/log/nullmailer/
Установим пользователя и группу multilog
владельцами этого каталога:
# chown multilog:multilog /var/log/nullmailer/
Остановим nullmailer
, запущенный с помощью скрипта /etc/rc.d/nullmailer
:
# /etc/rc.d/nullmailer stop
Запустим сервис средствами daemontools
, переименовав каталог сервиса:
# mv /service/.nullmailer /service/nullmailer
Для совместимости с родной системной инициализации NetBSD можно поступить так, как описано в главе Совместимость с rc статьи Запуск Gitea в NetBSD с помощью daemontools, то есть создать символическую ссылку на описанный в этой главе скрипт /etc/rc.daemontools
:
# ln -s /etc/rc.daemontools /etc/rc.d/nullmailer