Usando rsync sobre ssh usando chave pública / privada não está funcionando

2

Eu tenho um script que está no arquivo backup.sh (chmod 775):

rsync -e 'ssh -p 31234' -avlz --delete --stats --progress --copy-links [email protected]:/home/admin/rsync /home/myname/rsync/foo/

Quando eu ligo manualmente, tudo funciona bem (e eu não tenho que digitar minha senha). Mas quando eu chamo do cron, simplesmente não funciona .

Eu usei a mesma configuração no computador do meu colega de trabalho (que tem o mesmo acesso que eu) e funciona bem.

O que há de errado?

    
por Dan 10.11.2009 / 20:51

3 respostas

4

Eu tenho minha configuração de login do ssh passpharseless. Eu uso um comando como o seguinte: rsync --delete -auve 'ssh -i /home/red/.ssh/cron_jobs_key' red@othermachine:/source/dir1 /dest/dir2

A chave aqui é " -i /home/red/.ssh/cron_jobs_key " onde eu configurei um login ssh sem uma senha. Caso contrário, eu teria que inserir minha chave ssh quando eu fizer login na minha máquina local. Gerei essa chave ssh especificamente para tarefas agendadas.

    
por 10.11.2009 / 21:49
2

Algumas dicas:

  • Verifique seu e-mail local (se você o configurou). O Cron enviará por email a saída dos comandos agendados.
  • Verifique se o rsync está no seu PATH. Você pode verificar isso executando o comando 'env' em um cron job ou incluir o comando env em seu script existente. Ou seja, adicione uma linha: "env > /tmp/env_output.txt" e examine esse arquivo posteriormente.
  • Você pode definir uma variável PATH no topo do seu crontab:

PATH=/sbin:/bin:/usr/sbin:/usr/bin

    
por 10.11.2009 / 21:13
1

mencionando que você não precisa digitar a senha, eu diria que você está usando o ssh-agent para inseri-lo uma vez por sessão.

Isso não funcionará no cron, já que o cron não tem acesso à sua variável SSH_AUTH_SOCK porque ela foi iniciada na inicialização da máquina, e não na sua sessão atual.

Se você quiser que isso funcione, você terá que usar uma chave passphraseless, provavelmente o que seu colega de trabalho está usando.

    
por 10.11.2009 / 21:10

Tags