
У меня есть две программы на сервере Ubuntu 20.04, которые расположены в:
/home/kiko/go-btfs/cmd/btfs
/home/kiko/node5007/cmd/btfs
Они оба запускаются с помощью команды: ./btfs daemon
Как сделать так, чтобы эта команда для обоих каталогов запускалась автоматически перед входом на сервер? Я попытался создать службу автозапуска с помощью sudo nano /etc/systemd/system/btfs_main.service
и затем ввел следующие настройки в блок btfs_main.service
:
[Unit]
Description=Starting_btfs_daemon
Wants=network.target
After=syslog.target network-online.target
[Service]
Type=simple
ExecStart=/home/kiko/go-btfs/cmd/btfs/./btfs daemon
ExecStart=/home/kiko/node5007/cmd/btfs/./btfs daemon
Restart=on-failure
RestartSec=10
KillMode=process
[Install]
WantedBy=multi-user.target
и затем: sudo systemctl daemon-reload
, sudo systemctl enable btfs_main.service
, sudo systemctl start btfs_main.service
, systemctl status btfs_main.service
. С последней командой у меня возникла ошибка: Unit btfs_main.service has a bad unit file setting
. Как мне настроить параметры устройства, чтобы обе команды запускались автоматически?
решение1
Вы можете использовать файл /etc/rc.local для запуска скрипта после перезагрузки сервера.
Итак, шаги, которые вам необходимо выполнить, следующие:
- Сначала создайте
/etc/rc.local
файл и сделайте его исполняемым. Это облако можно сделать черезchmod a+x /etc/rc.local
команду. - Теперь создайте
/etc/systemd/system/rc-local.service
файл. После создания файла службы systemd добавьте в него следующее содержимое.
[Unit]
Description=/etc/rc.local Compatibility
ConditionPathExists=/etc/rc.local
[Service]
Type=forking
ExecStart=/etc/rc.local start
TimeoutSec=0
StandardOutput=tty
RemainAfterExit=yes
SysVStartPriority=99
[Install]
WantedBy=multi-user.target
- После этого включите службу при загрузке системы:
systemctl включить rc-local
- Теперь запустите службу и проверьте ее статус:
systemctl start rc-local.service
systemctl статус rc-local.service
Вы должны получить результат, как на изображении ниже.
- Теперь поместите ваши скрипты в
/etc/rc.local
файл и сделайте их исполняемыми. - Перезагрузите сервер и проверьте результаты.