Управление сервисами в FreeBSD
Конфигурация сервиса
# cat /etc/ssh/sshd_config
# cat /etc/syslog.conf
Запуск/остановка сервиса
Из shell
Система загрузки rc.local
# cat /etc/rc.local
...
/usr/sbin/sshd
exit 0
Система загрузки rc.NG
Управление запуском сервисов
# ls /etc/rc.d/
# ls /usr/local/etc/rc.d/
или
# service -l
# /etc/rc.d/sshd
# /etc/rc.d/sshd rcvar
# /etc/rc.d/sshd onestart
# /etc/rc.d/sshd onestop
или
# service sshd
# service sshd rcvar
# service sshd onestart
# service sshd onestop
# service -e
# sysrc sshvpn_enable=YES
# cat /etc/defaults/rc.conf
# cat /etc/rc.conf
Пример скрипта
# cat /usr/local/etc/rc.d/sshvpn
#!/bin/sh
# PROVIDE: sshvpn
# REQUIRE: LOGIN FILESYSTEMS
# KEYWORD: shutdown
. /etc/rc.conf
case "$sshvpn_enable" in
[Yy][Ee][Ss])
if [ "${1#fast}" = start ]
then
echo Starting sshvpn...
/usr/bin/ssh -N -R 200X:localhost:22 userX@gate.isp.un &
echo $! > /var/run/sshvpn.pid
elif [ "${1#fast}" = stop ]
then
echo Stopping sshvpn...
kill -s TERM `cat /var/run/sshvpn.pid`
else
echo Usage:
echo 'service sshvpn start|stop'
fi
;;
esac
Управление последовательностью запуска сервисов
# cat /usr/local/etc/rc.d/havp
...
# PROVIDE: havp
# REQUIRE: clamav_clamd
# BEFORE: LOGIN
...