在 Fedora 15 上将 Dropbox 作为服务运行

在 Fedora 15 上将 Dropbox 作为服务运行

我使用描述的基于文本的安装方法安装了 Dropbox这里。但是我现在想让 dropbox 在机器启动时自动启动,并开始同步文件。我需要以 dropbox 用户身份从 dropbox 用户主目录运行 dropbox。

我认为以下命令将以 dropbox 用户身份启动 dropbox,在 dropbox 用户主目录中,如果这不起作用,您能纠正我吗?

LANG=en_US.UTF-8 sudo -H -u dropbox ./.dropbox-dist/dropbox end script   

答案1

我的猜测是:

  1. 您为命令指定了错误的路径dropbox./始终引用当前目录,即不是通过使用 进行了更改sudo -H。您仍然必须使用/home/dropbox/.dropbox-dist/dropbox

  2. Dropbox 拒绝启动,因为end script命令行中不是命令的一部分——原始的 Upstart 示例应该由几行组成:

    start on runlevel 2
    start on runlevel 3
    start on runlevel 4
    start on runlevel 5
    stop on shutdown
    respawn
    script
        # Without next line DB does not sync non ASCII characters (ubuntu 10.04-x86_64, db 0.7.110)
        export LANG=en_US.UTF-8
        cd /home/dropbox
        exec sudo -H -u dropbox ./.dropbox-dist/dropbox
    end script
    

    正如您所见,/home/dropbox在引用之前, Upstart config cd 到了./.dropbox-dist


对于 systemd,创建一个/etc/systemd/system/dropbox.service

[单元]
描述=Dropbox 作为系统服务

[服务]
ExecStart=/home/dropbox/.dropbox-dist/dropbox
用户=dropbox
# 'LANG' 可能没有必要,因为 systemd 已经设置了
# 根据“/etc/locale.conf”为所有服务设置语言环境。
# 运行“systemctl show-environment”以确保。
环境=LANG=en_US.utf-8

[安装]
WantedBy=多用户.目标

用于systemctl start dropbox.service立即启动服务。

使用systemctl enable dropbox.service使其在启动时自动启动。

如果在使用过一次后编辑单元文件,请运行systemctl daemon-reload以清除内存中的缓存文件。

相关内容