【问题标题】:ubuntu 18 custom service does not loadubuntu 18 自定义服务不加载
【发布时间】:2021-06-21 01:41:09
【问题描述】:

ubuntu 18

我在 /etc/systemd/system/mycustomservice.service 创建了一个自定义服务

并启用它:sudo systemctl enable /etc/systemd/system/mycustomservice.service

但服务在启动时没有加载,内容是:

[Unit]
After=mysql.service

[Service]
ExecStart=/home/myuser/runupdate.sh

[Install]
WantedBy=default.target

我尝试执行文件 /home/myuser/runupdate.sh 没有任何问题

权限

/home/myuser/runupdate.sh 是 -rwxr--r-- /etc/systemd/system/mycustomservice.service 是-rw-rw-r--

请指教,谢谢!

【问题讨论】:

  • 脚本顶部有#!/bin/bash 吗?
  • 我对此有点陌生,你的意思是:ExecStart=#!/bin/bash /home/myuser/runupdate.sh ?
  • Systemd 需要知道如何执行脚本以及使用什么 shell,因此需要 #!/bun/bash 或 #!/bin/sh,或者,您可以使用 ExecStart=/bin/bash -c /home/myuser/runupdate.sh
  • 你已经解决了这个问题,非常感谢!

标签: linux shell ubuntu service


【解决方案1】:

Systemd 需要知道如何执行脚本以及使用什么 shell,因此有两个选项添加:

#!/bin/bash 

#!/bin/sh

到脚本的第一行,具体取决于您使用的 shell。或者,您可以使用:

ExecStart=/bin/bash -c /home/myuser/runupdate.sh 

【讨论】:

    猜你喜欢
    • 2017-08-06
    • 1970-01-01
    • 2012-08-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-07-28
    • 1970-01-01
    • 2016-09-02
    相关资源
    最近更新 更多