我有一个自定义的服务文件,但无法运行它。以下是 ExecStart 行:
ExecStart=/bin/rsync --ignore-existing -rtvu /var/foo/foo/ /var/foo2/foo2 && /bin/chown nginx:nginx -R /var/foo2/foo2/ && /bin/chmod -R 777 /var/foo2/foo2/
每当我尝试运行该服务时,我都会在日志文件中收到以下错误消息:
Sep 26 10:27:21 myserver rsync[9609]: Unexpected remote arg: nginx:nginx
Sep 26 10:27:21 myserver rsync[9609]: rsync error: syntax or usage error (code 1) at main.c(1214) [sender=3.0.9]
有什么想法吗?当我将命令复制粘贴到我的终端时,它们运行正常
答案1
ExecStart 不是 shell。请参阅文档中的“命令行”部分https://www.freedesktop.org/software/systemd/man/systemd.service.html。
您需要运行一个以命令行作为参数的 shell。