Често долази до спонтаног пада сервиса. Корисник их мора ручно вратити. Нема проблема као таквог ако се то догоди на кућном рачунару. Још више је добро, јер постоји реална прилика да се утврди стање услуге, идентификује кварове и отклони их. Али ситуација је потпуно другачија када су у питању сервери и ВПС услуге, које морају стално да раде да би се омогућио приступ веб локацији или апликацији. У овом чланку ћемо погледати како да конфигуришемо аутоматско поновно покретање Линук сервиса на неколико начина: коришћењем скрипте за надгледање која се повремено покреће преко црон-а и у системд-у.
Подразумевано је подешено да ако се услуга сруши, Системд неће учинити ништа са њом. Али корисник увек може да конфигурише подешавања на такав начин да се у случају пада или заустављања сервис аутоматски поново покреће. Да бисте то урадили, користите директиву Рестарт, која се мора додати у одељак Сервис. Затим, погледајмо пример подешавања аутоматског поновног покретања услуге Апацхе:
$ sudo systemctl edit apache2 [Service] Restart=on-failure RestartSec=5s
Овде РестартСец одређује колико дуго треба чекати пре поновног покретања услуге. Када завршите, сачувајте промене и покрените команду даемон-релоад да бисте поново прочитали конфигурацију:
$ sudo systemctl daemon-reload
Затим, да бисте проверили да ли све ради како треба, погледајте стање процеса, завршите процес са сигналом за укидање:
$ sudo systemctl status apache2 $ kill -KILL 32091
Проверите статус поново, процес би требало да буде покренут. Да бисте подесили да се иницијализација покреће сваки пут, користите посебну директиву Рестарт: алваис. Али мора се користити изузетно пажљиво, јер вам неће дозволити да завршите процес, чак и ако се укаже потреба. Ако се процес стално руши тако да се поново покреће, можете додати ограничење броја поновних покретања у одељку Сервис:
$ sudo systemctl edit apache2 [Service] StartLimitIntervalSec=500 StartLimitBurst=5 Restart=on-failure RestartSec=5s
Овде StartLimitBurst
и StartLimitIntervalSec
указују на важност поновног покретања сервиса пет пута, а ако се сруши свих ових пет пута, оставите га и не додирујте га. Друга директива ограничава време поновног покретања услуге на 500 секунди.
Можда најпоузданији метод без проблема који ради у свим верзијама Линук-а. У Апацхе-у је лако подесити аутоматско поновно покретање помоћу скрипте. Да бисте то урадили, потребно је да унесете команду:
$ sudo vi /usr/local/bin/apache-monitor.sh #!/bin/bash ps -A | grep apache2 || systemctl start apache2
Датотека мора бити сачувана и обавезно је учините извршном:
chmod ugo+x /usr/local/bin/apache-monitor.sh
Не заборавите да додате црон унос за периодично покретање скрипте:
$ sudo crontab -e */5 * * * * /usr/local/bin/apache-monitor.sh
То је све. Да, подешавање аутоматског поновног покретања услуге није тако једноставно као што се чини на први поглед. Али ово је важна способност, тако да јој треба обратити пажњу - дефинитивно је вредно тога.
Apply the discount by inserting the promo code in the special field at checkout:
Apply the discount by inserting the promo code in the special field at checkout: