Execute o Dropbox como um serviço no Fedora 15

0

Eu instalei o dropbox usando o método de instalação baseado em texto descrito aqui . No entanto, agora gostaria que o dropbox começasse automaticamente quando a máquina fosse inicializada e iniciasse a sincronização dos arquivos. Preciso que o dropbox seja executado como o usuário da caixa de depósito, no diretório inicial dos usuários da caixa de depósito.

Acho que o comando a seguir lançará o dropbox como o usuário da caixa de depósito, no diretório inicial dos usuários da caixa de depósito, você me corrigirá se isso não funcionar?

LANG=en_US.UTF-8 sudo -H -u dropbox ./.dropbox-dist/dropbox end script   
    
por Varun Madiath 11.11.2011 / 18:44

1 resposta

2

Meus palpites são:

  1. Você especificou o caminho errado para o comando dropbox ; ./ sempre se refere ao diretório atual, que não é alterado usando sudo -H . Você ainda teria que usar /home/dropbox/.dropbox-dist/dropbox .

  2. O Dropbox está se recusando a iniciar por causa de end script na linha de comando. Não é parte do comando - o exemplo original do Upstart deveria ser de várias linhas:

    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
    

    Como você pode ver, o CD de configuração do Upstart para /home/dropbox antes de se referir a ./.dropbox-dist .

Para o systemd, crie um /etc/systemd/system/dropbox.service :

[Unit]
Description=Dropbox as a system service

[Service]
ExecStart=/home/dropbox/.dropbox-dist/dropbox
User=dropbox
# 'LANG' might be unnecessary, since systemd already sets the
# locale for all services according to "/etc/locale.conf".
# Run 'systemctl show-environment' to make sure.
Environment=LANG=en_US.utf-8

[Install]
WantedBy=multi-user.target

Use systemctl start dropbox.service para iniciar o serviço agora.

Use systemctl enable dropbox.service para que seja iniciado automaticamente na inicialização.

Se você editar o arquivo da unidade depois de usá-lo uma vez, execute systemctl daemon-reload para limpar a memória em cache.

    
por 11.11.2011 / 20:52