Syncthing falha ao iniciar como serviço systemd do ubuntu

2

Eu recentemente configurei um servidor doméstico rodando o Ubuntu 16.04. Eu instalei o syncthing para sincronizar entre meu desktop, laptop e telefone.

Então, eu quero que syncthing seja executado como um serviço do sistema, o que significa que o serviço é iniciado quando o PC é iniciado, sem que eu tenha que fazer login, mas Quero que ele sincronize os arquivos no diretório pessoal do meu usuário pessoal (/ home / ryan / Sync).

Eu segui as instruções aqui , mas estou tendo um problema em que o serviço falha para iniciar a inicialização do sistema. Aqui está o que eu vejo ao fazer o login e verificar o status ...

Então, tudo o que tenho que fazer é executar systemctl start [email protected] e funciona bem; mas eu só quero que ele comece sem que eu tenha que entrar e executar o comando.

    
por Ryan Stull 03.10.2016 / 04:52

3 respostas

0

O problema tem algo a ver com o meu diretório pessoal criptografado. Acho que o sistema operacional não pôde iniciar um processo de sincronização no meu usuário local até que eu registrasse um diretório pessoal descriptografado.

No final, eu decidi remover a criptografia no meu diretório pessoal seguindo estas instruções.

Tudo funciona muito bem agora!

    
por 12.10.2016 / 06:09
1

Se você deseja manter a pasta pessoal criptografada e usar um serviço do sistema para sincronizar dados de uma parte não criptografada do sistema de arquivos, é necessário mover o local da pasta de configuração do Syncthing ( home/{myuser}/.config/syncthing por padrão) para fora do diretório. diretório inicial criptografado, usando o argumento -home="/path/to/config ao executar o Syncthing.

Por exemplo:

  • Ative o serviço, $ sudo systemctl enable syncthing@{myuser}.service , e anote a localização de [email protected] ( por exemplo, /lib/systemd/system/[email protected] ).
  • Modifique o serviço sudo nano /lib/systemd/system/[email protected] , adicionando -home="/path/to/.config/syncthing" à linha ExecStart= ;

    [Unit]
    Description=Syncthing - Open Source Continuous File Synchronization for %I
    Documentation=man:syncthing(1)
    After=network.target
    [email protected]
    
    [Service]
    User=%i
    ExecStart=/usr/bin/syncthing -no-browser -no-restart -logflags=0 -home="/path/to/.config/syncthing"
    Restart=on-failure
    SuccessExitStatus=3 4
    RestartForceExitStatus=3 4
    
    [Install]
    WantedBy=multi-user.target
    
  • Inicie o serviço, $ sudo systemctl start syncthing@{myuser}.service e verifique se os arquivos de configuração foram adicionados ao caminho fornecido.
  • Reinicie e verifique se o serviço já estava ativo e em execução assim que você fizer login, $ systemctl status syncthing@{myuser}.service .

n.b. Certifique-se de não sincronizar a própria pasta de configuração.

    
por 08.11.2017 / 16:29
0

Você pode ativá-lo como um programa de inicialização no Ubuntu para que ele inicie no login em vez de usar o systemctl.

Pesquise o HUD para aplicativos de inicialização Escolha Adicionar

Nomeie como Syncthing

No 16.04 o comando será / usr / bin / syncthing -no-browser -home="/ home / suausuário / .config / syncthing" substituindo suapasta_usuário.

Adicione um comentário.

Salvar clicando em adicionar.

Faça o seu logout e, em seguida, verifique seu status acessando o link

    
por 04.06.2018 / 05:54