我编写了一个简单的脚本,它每晚将 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 下工作。
我的问题是,这有多可怕,有没有更好的方法?