Crontab para um backup rsync com conexão ssh

0

Servidor Raiz UBUNTU 16.04.

Eu gostaria que um trabalho de crontab executasse um trabalho de backup rsync todas as noites às 2:14 da manhã. Ele copia uma "pasta" de uma máquina Ubuntu 16.04 para outro servidor raiz na Internet. Existe uma conexão ssh possível com um login de chave ssh.

O seguinte comando funciona no terminal:

/usr/bin/rsync -az --delete -e ssh /home/user/folder/ [email protected]:/home/user/folder

Mas o seguinte trabalho de crontab não funciona:

14 2 * * * /usr/bin/rsync -az --delete -e ssh /home/user/folder/ [email protected]:/home/user/folder

Estou tendo dificuldades com o crontab para ser honesto. Sempre parece uma situação de sorte se o trabalho realmente funciona.

Alguém pode ver no trabalho de crontab acima do que estou fazendo errado?

cumprimentos, Chris

    
por StackChrisChris 15.05.2018 / 10:15

1 resposta

1

O problema que tive foi que a conexão ssh A verificação da chave do host falhou.

Eu corri o cronjob no crontab da raiz. (Eu adicionei o cronjob via "sudo crontab -e".)

14 2 * * * /usr/bin/rsync -az --delete -e ssh /home/user/folder/ [email protected]:/home/user/folder

Parece que a conexão ssh é estabelecida pelo usuário root e não pelo "usuário".

Portanto, a tentativa de conexão é, na verdade:

ssh [email protected]

e não

ssh [email protected]

Então, adicionei o cronjob ao crontab do "usuário". (crontab -e (sem sudo)).

Agora, a verificação da chave do host funciona e a tarefa crontab rsync é executada corretamente.

Eu não sei exatamente se as suposições acima estão corretas, mas isso resolveu o problema.

Espero que este tópico ajude alguém em algum momento também.

Saudações, Chris

    
por StackChrisChris 16.05.2018 / 13:02