我想为systemd
制作一个pgagnent
单位。
我在这个页面init.d
上发现只有http://technobytz.com/automatic-sql-database-backup-postgres.html脚本,但我不知道如何在systemd中执行start-stop-daemon
。
我写过那个单位:
[Unit]
Description=pgagent
After=network.target postgresql.service
[Service]
ExecStart=start-stop-daemon -b --start --quiet --exec pgagent --name pgagent --startas pgagent -- hostaddr=localhost port=5432 dbname=postgres user=postgres
ExecStop=start-stop-daemon --stop --quiet -n pgagent
[Install]
WantedBy=multi-user.target
但我得到的错误如下:
[/etc/systemd/system/pgagent.service:14] Executable path is not absolute, ignoring: start-stop-daemon --stop --quiet -n pgagent
这个单位有什么问题?
systemd期望ExecStart和ExecStop命令包含可执行文件的完整路径。
systemd管理下的服务不需要start-stop-daemon。你会希望它执行底层的pgagent命令。
以https://unix.stackexchange.com/questions/220362/systemd-postgresql-start-script为例