Вы не можете использовать exec
в конфигурации системного блока обслуживания.
exec
является встроенной оболочкой и не может вызываться напрямую из файловой системы (она не находится в файловой системе) - type exec
и whereis exec
покажет вам это.
Используйте оболочку, в которой они написаны.
Например, если это bash
скрипт, вы можете запустить скрипт так:
bash /var/RCC/RCClogger.sh
Теперь, bash
является исполняемым и имеет абсолютный путь: /bin/bash
. Ваш ExecStart будет выглядеть следующим образом:
ExecStart=/bin/bash /var/RCC/RCClogger.sh
Другой способ - просто добавить shebang
в начало скрипта:
#!/bin/bash ... script code ...
Это говорит операционной системе, чтобы запустить файл с указанным интерпретатором, /bin/bash
в этом случае.
После этого просто сделайте ваш скрипт исполняемым:
chmod +x /var/RCC/RCClogger.sh
И используйте это непосредственно как ExecStart
:
ExecStart=/var/RCC/RCClogger.sh