This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision Last revision Both sides next revision | ||
управление_сервисами_в_linux [2017/11/10 09:54] val [Универсальный скрипт service] |
управление_сервисами_в_linux [2023/06/01 13:55] val [Система загрузки rc.local] |
||
---|---|---|---|
Line 25: | Line 25: | ||
* [[Сигналы]] | * [[Сигналы]] | ||
- | ==== Система загрузки rc.local ==== | + | ===== Определение системы загрузки ===== |
+ | <code> | ||
+ | $ ps -p 1 | ||
+ | </code> | ||
+ | |||
+ | ===== Система загрузки rc.local ===== | ||
<code> | <code> | ||
# cat /etc/rc.local | # cat /etc/rc.local | ||
</code><code> | </code><code> | ||
- | ... | + | #!/bin/sh |
- | /usr/bin/ssh -N -R 200X:localhost:22 userX@gate.isp.un & | + | |
+ | /usr/bin/ssh -N -R 61000+X:localhost:22 -o ServerAliveInterval=60 -o ExitOnForwardFailure=yes userX@gate.isp.un & | ||
exit 0 | exit 0 | ||
+ | </code><code> | ||
+ | chmod +x /etc/rc.local | ||
</code> | </code> | ||
- | ==== Система загрузки SysV ==== | + | |
+ | ===== Система загрузки SysV ===== | ||
* [[http://ru.wikipedia.org/wiki/Init]] | * [[http://ru.wikipedia.org/wiki/Init]] | ||
* [[Средства программирования shell#Примеры использования скриптов sh в системах загрузки]] | * [[Средства программирования shell#Примеры использования скриптов sh в системах загрузки]] | ||
- | === Скрипты запуска/остановки === | + | ==== Скрипты запуска/остановки ==== |
<code> | <code> | ||
# cat /etc/default/proftpd | # cat /etc/default/proftpd | ||
Line 53: | Line 62: | ||
</code><code> | </code><code> | ||
#!/bin/sh | #!/bin/sh | ||
- | # | + | |
+ | ######### CentOS ########## | ||
# sshvpn Start/Stop the sshvpn daemon. | # sshvpn Start/Stop the sshvpn daemon. | ||
# | # | ||
# chkconfig: 2345 90 60 | # chkconfig: 2345 90 60 | ||
+ | |||
+ | ######### Debian ########## | ||
+ | ### BEGIN INIT INFO | ||
+ | # Provides: sshvpn | ||
+ | # Required-Start: $remote_fs $syslog $local_fs $network | ||
+ | # Required-Stop: $remote_fs $syslog $local_fs $network | ||
+ | # Default-Start: 2 3 4 5 | ||
+ | # Default-Stop: 0 1 6 | ||
+ | |||
+ | # Short-Description: sshvpn Secure Shell server | ||
+ | ### END INIT INFO | ||
+ | |||
+ | |||
if [ "$1" = start ] | if [ "$1" = start ] | ||
then | then | ||
echo Starting sshvpn... | echo Starting sshvpn... | ||
- | /usr/bin/ssh -N -R 200X:localhost:22 userX@gate.isp.un & | + | /usr/bin/ssh -N -R 61000+X:localhost:22 -o ServerAliveInterval=60 -o ExitOnForwardFailure=yes userX@gate.isp.un & |
echo $! > /var/run/sshvpn.pid | echo $! > /var/run/sshvpn.pid | ||
elif [ "$1" = stop ] | elif [ "$1" = stop ] | ||
Line 74: | Line 97: | ||
</code> | </code> | ||
- | === Управление запуском/остановкой === | + | ==== Управление запуском/остановкой ==== |
<code> | <code> | ||
Line 86: | Line 109: | ||
</code> | </code> | ||
- | == Debian/Ubuntu == | + | === Debian/Ubuntu === |
* [[http://help.ubuntu.ru/wiki/создание_скрипта_автозапуска|Создание своего скрипта автозапуска при загрузке компьютера]] | * [[http://help.ubuntu.ru/wiki/создание_скрипта_автозапуска|Создание своего скрипта автозапуска при загрузке компьютера]] | ||
Line 98: | Line 121: | ||
</code> | </code> | ||
- | == RHEL/CentOS == | + | === RHEL/CentOS === |
[[http://www.cyberciti.biz/faq/rhel5-update-rcd-command/]] | [[http://www.cyberciti.biz/faq/rhel5-update-rcd-command/]] | ||
Line 105: | Line 128: | ||
# chkconfig --list | # chkconfig --list | ||
- | # chkconfig --del sshd | + | # chkconfig --add sshvpn |
- | # chkconfig --list sshd | + | # chkconfig --list sshvpn |
- | # chkconfig --add sshd | + | # chkconfig --del sshvpn |
- | + | ||
- | + | ||
- | # chkconfig sshd on | + | |
- | + | ||
- | # chkconfig sshd off | + | |
- | + | ||
- | + | ||
- | # chkconfig --level 2 sshd on | + | |
- | + | ||
- | # chkconfig --level 35 sshd on | + | |
</code> | </code> | ||
- | + | ==== Управление ресурсами ==== | |
- | ==== Система загрузки Systemd ==== | + | <code> |
+ | # cat /etc/init.d/asterisk | ||
+ | </code><code> | ||
+ | ... | ||
+ | MAXFILES=65536 | ||
+ | ... | ||
+ | </code> | ||
+ | ===== Система загрузки Systemd ===== | ||
* [[http://val.bmstu.ru/unix/Books/s4a_latest.pdf|systemd для администраторов]] | * [[http://val.bmstu.ru/unix/Books/s4a_latest.pdf|systemd для администраторов]] | ||
Line 128: | Line 148: | ||
* [[https://habrahabr.ru/company/centosadmin/blog/255845/|Systemd за пять минут]] | * [[https://habrahabr.ru/company/centosadmin/blog/255845/|Systemd за пять минут]] | ||
* [[https://wiki.archlinux.org/index.php/systemd|systemd]] | * [[https://wiki.archlinux.org/index.php/systemd|systemd]] | ||
+ | |||
+ | ==== Управление юнитами Systemd ===== | ||
+ | |||
+ | * [[https://docs.gitea.io/en-us/linux-service/|Run Gitea as Linux service]] | ||
<code> | <code> | ||
$ systemctl -a | $ systemctl -a | ||
+ | $ systemctl list-units | ||
- | centos# ls /usr/lib/systemd/system/ | + | centos# find /usr/lib/systemd/system/ |
- | debian# ls /lib/systemd/system/ | + | debian# find /lib/systemd/system/ |
+ | |||
+ | # find /etc/default/ | ||
$ systemctl status ssh | $ systemctl status ssh | ||
Line 151: | Line 178: | ||
[Service] | [Service] | ||
- | ExecStart=/usr/bin/ssh -N -R 200X:localhost:22 userX@gate.isp.un | + | ExecStart=/usr/bin/ssh -N -R 61000+X:localhost:22 -o ServerAliveInterval=60 -o ExitOnForwardFailure=yes userX@gate.isp.un |
KillMode=process | KillMode=process | ||
- | Restart=on-failure | + | Restart=always |
RestartSec=42s | RestartSec=42s | ||
Line 165: | Line 192: | ||
# systemctl start sshvpn | # systemctl start sshvpn | ||
</code> | </code> | ||
- | ==== Система загрузки Upstart ==== | + | |
+ | ==== Настройка параметров запуска в Systemd ===== | ||
+ | |||
+ | <code> | ||
+ | # systemctl edit имясервиса | ||
+ | </code><code> | ||
+ | [Service] | ||
+ | LimitNOFILE=65536 # nginx | ||
+ | TimeoutStartSec=180 # elasticsearch | ||
+ | </code><code> | ||
+ | # systemctl daemon-reload # не очевидно, что нужно | ||
+ | |||
+ | # systemctl show имясервиса | ||
+ | |||
+ | # systemctl restart имясервиса | ||
+ | |||
+ | # systemctl status имясервиса | ||
+ | |||
+ | # cat /proc/NNNNN/limits | ||
+ | </code> | ||
+ | ===== Система загрузки OpenRC ===== | ||
+ | |||
+ | <code> | ||
+ | # ls /etc/init.d/ | ||
+ | # /etc/init.d/sshd status|start|stop | ||
+ | |||
+ | # rc-service sshd status|start|stop | ||
+ | |||
+ | # rc-update add|del sshd default | ||
+ | |||
+ | # rc-update show | ||
+ | |||
+ | # openrc | ||
+ | </code> | ||
+ | |||
+ | ===== Система загрузки Upstart ===== | ||
* [[https://ru.wikipedia.org/wiki/Upstart|Upstart в Википедии]] | * [[https://ru.wikipedia.org/wiki/Upstart|Upstart в Википедии]] |