我有一个用户test
。
test
有一个 systemd 用户服务,位于 /home/test/.config/systemd/user/testserv.service
服务文件包含,
[Unit]
Description=Test Service
After=network.target
[Service]
WorkingDirectory=/home/test/test_website
ExecStart=/home/test/venv/bin/gunicorn \
--access-logfile \
- \
--workers 2 \
--bind unix:/home/test/test_website/test_website.sock run:app
[Install]
WantedBy=multi-user.target
我想每 5 分钟从 cron 中重新启动一次此服务。
为此,我创建了一个脚本 /home/test/test.sh
#!/bin/bash
PATH="/home/test/venv/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin"
HOME="/home/test"
SHELL="/bin/bash"
exec &>> log.txt
systemctl --user restart testserv.service
并从test
的 crontab 中运行它,作为,
* * * * * /bin/bash /home/test/test.sh
但是我一直收到这个错误,我无法找出原因。
Failed to connect to bus: No such file or directory
关于如何解决这个问题的任何想法?
在重新启动服务之前尝试添加这些行:
XDG_RUNTIME_DIR=/run/user/$(id -u)
DBUS_SESSION_BUS_ADDRESS=unix:path=${XDG_RUNTIME_DIR}/bus
export DBUS_SESSION_BUS_ADDRESS XDG_RUNTIME_DIR
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句