This shows you the differences between two versions of the page.
| Both sides previous revision Previous revision Next revision | Previous revision | ||
|
управление_сервисами_в_freebsd [2015/02/26 15:56] val [Система загрузки rc.local] |
управление_сервисами_в_freebsd [2018/03/20 10:47] (current) val [Система загрузки rc.NG] |
||
|---|---|---|---|
| Line 1: | Line 1: | ||
| ====== Управление сервисами в FreeBSD ====== | ====== Управление сервисами в FreeBSD ====== | ||
| + | |||
| ===== Конфигурация сервиса ===== | ===== Конфигурация сервиса ===== | ||
| <code> | <code> | ||
| Line 12: | Line 13: | ||
| <code> | <code> | ||
| # /usr/sbin/sshd | # /usr/sbin/sshd | ||
| + | </code> | ||
| - | # killall -HUP sshd | + | * [[Сигналы]] |
| - | + | ||
| - | # killall sshd | + | |
| - | </code> | + | |
| ==== Система загрузки rc.local ==== | ==== Система загрузки rc.local ==== | ||
| Line 33: | Line 32: | ||
| * [[http://www.freebsd.org/doc/en/books/handbook/configtuning-rcd.html|Managing Services in FreeBSD]] | * [[http://www.freebsd.org/doc/en/books/handbook/configtuning-rcd.html|Managing Services in FreeBSD]] | ||
| + | === Управление запуском сервисов === | ||
| <code> | <code> | ||
| # ls /etc/rc.d/ | # ls /etc/rc.d/ | ||
| Line 43: | Line 43: | ||
| # /etc/rc.d/sshd onestart | # /etc/rc.d/sshd onestart | ||
| # /etc/rc.d/sshd onestop | # /etc/rc.d/sshd onestop | ||
| + | |||
| или | или | ||
| + | |||
| # service sshd | # service sshd | ||
| # service sshd rcvar | # service sshd rcvar | ||
| Line 51: | Line 53: | ||
| # service -e | # service -e | ||
| - | # /etc/rc.d/syslogd rcvar | + | # sysrc sshvpn_enable=YES |
| # cat /etc/defaults/rc.conf | # cat /etc/defaults/rc.conf | ||
| - | </code><code> | + | |
| - | ... | + | |
| - | syslogd_enable="YES" | + | |
| - | ... | + | |
| - | </code><code> | + | |
| # cat /etc/rc.conf | # cat /etc/rc.conf | ||
| + | </code> | ||
| + | |||
| + | === Пример скрипта === | ||
| + | |||
| + | <code> | ||
| + | # cat /usr/local/etc/rc.d/sshvpn | ||
| </code><code> | </code><code> | ||
| - | ... | + | #!/bin/sh |
| - | syslogd_flags="-a 192.168.X.0/24:*" | + | |
| - | sshd_enable="YES" | + | |
| - | ... | + | |
| - | </code><code> | + | |
| - | # /etc/rc.d/sshd start | + | |
| - | или | + | |
| - | # service sshd start | + | |
| - | # /etc/rc.d/sshd reload | + | # PROVIDE: sshvpn |
| - | или | + | # REQUIRE: LOGIN FILESYSTEMS |
| - | # service sshd reload | + | # 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 | ||
| </code> | </code> | ||
| + | === Управление последовательностью запуска сервисов === | ||
| + | <code> | ||
| + | # cat /usr/local/etc/rc.d/havp | ||
| + | </code><code> | ||
| + | ... | ||
| + | # PROVIDE: havp | ||
| + | # REQUIRE: clamav_clamd | ||
| + | # BEFORE: LOGIN | ||
| + | ... | ||
| + | </code> | ||