rsync sobre SSH com cron no ambiente osx

4

Eu quero baixar automaticamente arquivos e pastas de um servidor Linux para o qual tenho uma conta SSH (e FTP). Os arquivos devem ser baixados em uma base regular (suponho que um cron é a ferramenta certa para fazê-lo) em uma máquina OS X.

Eu tentei o seguinte comando rsync, que funciona bem:

rsync -avzbe ssh [email protected]:/www/htdocs/something/somefolder /Users/me/folder/foo/

No entanto, eu tenho que digitar a senha da conta toda vez (a conta SSH na máquina do servidor). O servidor é gerenciado e tenho medo de não poder alterar a senha.

Aqui estão minhas perguntas:

  • Como faço para ignorar a inserção da senha armazenando-a em algum lugar
  • Como eu automatizo isso corretamente?
por Martin 24.10.2011 / 09:43

2 respostas

1
  1. Execute ssh-keygen e aceite os padrões em todas as etapas
  2. cat ~/.ssh/id_rsa.pub | ssh [email protected] "mkdir -p ~/.ssh/; cat >> ~/.ssh/authorized_keys; chmod 700 ~/.ssh/; chmod 600 ~/.ssh/authorized_keys"
  3. Edite o crontab com crontab -e e adicione uma linha como 20 4,16 * * * rsync -a [email protected]:somedir/subdir ~/somedir
por 25.10.2011 / 04:40
1

Você tem duas opções,

  • configure um login sem senha

  • link (para hosts remotos onde você não tem permissão para alterar arquivos do SO)

por 24.10.2011 / 12:06