Você não pode usar exec
em uma configuração de unidade de serviço systemd.% exec
é um shell embutido e não pode ser chamado diretamente do sistema de arquivos (ele não reside no sistema de arquivos) - type exec
e whereis exec
mostrarão isso para você.
Use a casca na qual eles estão escritos.
Por exemplo, se for um script bash
, você pode executar o script assim:
bash /var/RCC/RCClogger.sh
Agora, bash
é um executável e tem um caminho absoluto: /bin/bash
. Seu ExecStart será semelhante ao seguinte:
ExecStart=/bin/bash /var/RCC/RCClogger.sh
Outra maneira é simplesmente adicionar uma shebang
ao início do script:
#!/bin/bash
... script code ...
Isso informa ao sistema operacional para executar o arquivo com o intérprete especificado, /bin/bash
neste caso.
Depois disso, basta tornar seu script executável:
chmod +x /var/RCC/RCClogger.sh
E use diretamente como ExecStart
:
ExecStart=/var/RCC/RCClogger.sh