2

I want to setup a cron job that makes a production site pull from a gitolite repository.

The following command works in a non-cron-context:

# m     h       dom     mon     dow     command
*       *       *       *       *       cd /home/www/test/autopulling-site/ && /usr/bin/git fetch && /usr/bin/git pull

I am suspecting that the git operation doesn't work due to the SSH key not being sent correctly in a cron context. The logs show nothing.

Any ideas?

4

2 に答える 2

3

ユーザーが実際にを実行していることを確認する必要がありますcron
この場合はrootである可能性が非常に高いため、$HOME(から実行する場合cron)にファイルが含まれていることを確認する必要があり.ssh/id_rsa(.pub)ます。

ただし、秘密鍵がパスワードで保護されている場合は、cronセッションがssh-agentを認識しないことを忘れないでください。具体的な例については、「crontabを介してsshエージェントを使用してsshでrsyncコマンドを実行する」を参照してください。OPハロルドスミス
が 指摘したように、ここで欠けている要素でした。keychain

于 2012-07-08T21:35:23.120 に答える
2

何が悪いのかわからない

ただし、コマンドの出力をファイル(たとえば(cd && git pull && ...) &> path/to/file)にリダイレクトして、何が出力されているかを確認することはできます。

于 2012-07-08T21:21:06.967 に答える