我添加了一个 systemd 服务来监视路径,但它不起作用。我触摸了 /tmp/test/ 下的 .txt 文件,但它没有启动我的服务。我看不到生成“/tmp/testlog.txt”。我的服务有什么问题吗?
myservice.path
[Unit]
Description=Path Exists
[Path]
PathExistsGlob=/tmp/test/*.txt
PathChanged=/tmp/test/
[Install]
WantedBy=multi-user.target
myservice.service
[Unit]
Description=Test
[Service]
ExecStartPre=/bin/sh -c 'mkdir /tmp/test && sleep 60'
ExecStart=/bin/sh -c 'echo "Test Success" >> /tmp/testlog.txt & '
[Install]
WantedBy=multi-user.target
临时目录:
# ls /tmp/test/
ab.txt
#
失败的原因可能是什么?
答案1
这是一个时间问题。我添加了依赖项并使该服务作为最后一个服务启动。那一个解决了这个问题。
答案2
我遇到了这个问题;尝试在该部分中添加以下内容[Unit]
:
Wants=observer.service