我的 systemd 服务文件dropbox.service
设置如下:
[Unit]
Description=dropbox
After=local-fs.target network.target
[Service]
User=romeovs
ExecStart=/usr/bin/dropboxd
[Install]
WantedBy=multi-user.target
如果 dropbox 守护程序在启动后随时运行,则它会成功启动。当我enable
在启动时运行时,似乎出了问题。dropbox status
只是显示 dropbox 是Connecting...
.
我的猜测是网络需要在 Dropbox 启动之前完全启动。我如何使用 systemd 强制执行此操作?
答案1
作为一个快速破解:
[Unit]
Description=dropbox
After=local-fs.target network.target
[Service]
User=romeovs
ExecStartPre=sh -c 'while ! ping -c1 dropbox.com >/dev/null; do sleep 1; done'
ExecStart=/usr/bin/dropboxd
[Install]
WantedBy=multi-user.target
应独立于任何网络管理员的报告而工作。