Como colocar um comando que autostart daemon antes do login no servidor Ubuntu 20.04

Como colocar um comando que autostart daemon antes do login no servidor Ubuntu 20.04

Eu tenho dois programas no servidor Ubuntu 20.04, localizados em:

 /home/kiko/go-btfs/cmd/btfs
 /home/kiko/node5007/cmd/btfs

Ambos são executados com o comando: ./btfs daemonComo fazer este comando para ambos os diretórios iniciarem automaticamente antes do login no servidor? Tentei criar o serviço de inicialização automática sudo nano /etc/systemd/system/btfs_main.servicee coloquei as seguintes configurações na unidade 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

e então: sudo systemctl daemon-reload, sudo systemctl enable btfs_main.service, sudo systemctl start btfs_main.service, systemctl status btfs_main.service. Com o comando final, tenho algum erro: Unit btfs_main.service has a bad unit file setting. Como faço para definir as configurações da unidade para que ambos os comandos sejam executados automaticamente?

Responder1

Você pode usar o arquivo /etc/rc.local para iniciar seu script após a reinicialização do servidor.

Portanto, as etapas que você precisa seguir são as seguintes:

  1. Primeiro crie /etc/rc.localo arquivo e torne-o executável. Essa nuvem pode ser feita via chmod a+x /etc/rc.localcomando.
  2. Agora crie /etc/systemd/system/rc-local.serviceo arquivo. Depois de criar o arquivo de serviço systemd, adicione o seguinte conteúdo a ele.
[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
  1. Depois disso, habilite o serviço na inicialização do sistema:

systemctl habilitar rc-local

  1. Agora inicie o serviço e verifique seu status:

systemctl iniciar rc-local.service

status do systemctl rc-local.service

você deve obter uma saída como a imagem abaixo. insira a descrição da imagem aqui

  1. Agora coloque seus scripts no /etc/rc.localarquivo e torne-os executáveis.
  2. Reinicie o servidor e verifique os resultados.

informação relacionada