我创建了一个必须在启动时启动的脚本。因此,对于此脚本,我创建了一个 systemd 服务并在 systemctl 中启用了它。该脚本在 /mnt 中创建一个文件夹,然后将 cd 挂载到该文件夹,复制文件,卸载 cd 并再次删除该文件夹。
当我执行脚本时,脚本正在执行它应该执行的操作。但是当我执行服务 (systemctl start startupscript.service) 时,服务按预期完成,但显然脚本未执行。但是服务告诉我它已成功结束。日志中也没有任何内容表明出现任何问题。
有人知道发生了什么事吗?
谢谢!
# cat /etc/systemd/system/startupscript.service
[Unit]
Description=A random description
[Service]
Type=oneshot
ExecStart=/usr/lib/systemd/scripts/startup
[Install]
WantedBy=multi-user.target
答案1
问题是文件系统尚未加载,脚本需要分叉。
通过添加/更改解决了问题:
[Unit]
After=local-fs.target
[Service]
Type=forking