Я следовал инструкциям по этой ссылке: https://www.thegeekdiary.com/centos-rhel-7-how-to-make-custom-script-to-run-automatically-during-boot/
Но у меня проблема, потому что мой сервис не запускается.
Я создал один скрипт startSanic2.sh, который вызывает скрипт startSanic.sh (мне это нужно, потому что когда я запускаю его вручную с помощью & только в этом случае сеанс не истекает)
Это мой скрипт startSanic2.sh
# cat /opt/horses/startSanic2.sh
#!/bin/bash
cd /opt/horses
./startSanic.sh &
Это мой скрипт startSanic.sh
# cat /opt/horses/startSanic.sh
#!/bin/bash
gunicorn horses.server:app --bind 0.0.0.0:9000 --worker-class sanic.worker.GunicornWorker --reload
После запуска (./startSanic2.sh) он успешно выполняется на порту 9000.
startSanic.sh и startSanic2.sh имеют разрешения 755
Затем я создал новый san.service
[root@testnn2 system]# cat /etc/systemd/system/san.service
[Unit]
Description=Description for sample script goes here
After=network.target
[Service]
Type=simple
ExecStart=/opt/horses/startSanic2.sh
TimeoutStartSec=0
[Install]
WantedBy=default.target
Я запускаю эту команду:
systemctl daemon-reload
И я запускаю эту команду
# systemctl enable san.service
Created symlink from /etc/systemd/system/default.target.wants/san.service to /etc/systemd/system/san.service
Когда я запускаю его - ничего не происходит :(
systemctl start san.service
Я проверил и в /etc/systemd/system
мой san.service выглядит так:
-rw-r--r-- 1 root root 193 Apr 2 18:07 san.service
Пожалуйста, помогите мне в этом вопросе, почему ничего не запускается.
Обновление: переменные среды
Содержимое /etc/systemd/system/san.service
:
[Unit]
Description=Description for sample script goes here
After=network.target
[Service]
Type=simple
ExecStart=/opt/horses/startSanic2.sh
TimeoutStartSec=0
Environment="var1=value1"
[Install]
WantedBy=default.target