svn アクティビティ ログを毎晩開発者にメールで送信する簡単なスクリプトを作成しました。今までsvnリポジトリと同じマシンで動かしていたので、認証の心配はなく、svnのfile:///アドレススタイルをそのまま使えました。
現在、自宅のコンピューターでスクリプトを実行し、リモート リポジトリにアクセスしているため、svn+ssh:// パスに変更する必要がありました。ssh-key が適切に設定されているため、通常の状況では svn リポジトリにアクセスするためにパスワードを入力する必要はありません。
ただし、crontab は私の ssh-keys / ssh-agent にアクセスできませんでした。私はこの問題についてウェブ上のいくつかの場所で読んだことがありますが、ここでもほのめかされていますが、解決策はありません。
ssh が crontab から失敗するのに、コマンドラインから実行すると成功するのはなぜですか?
私の解決策は、これをスクリプトの先頭に追加することでした:
### TOTAL HACK TO MAKE SSH-KEYS WORK ###
eval `ssh-agent -s`
これは MacOSX 10.6 で動作するようです。
私の質問は、これがどれほどひどいものかということです。より良い方法はありますか?