2011-10-04 62 views
3

我有一个每五分钟提交一些文件的cronjob。但是,它不再工作。它打印SVN提交证书问题

Error validating server certificate for 'https://xx.xx.xx.xx:443': 
- The certificate hostname does not match. 
Certificate information: 
- Hostname: *.xxxtest.com 
- Valid: from Jun 2 18:45:22 2010 GMT until Jul 4 15:59:29 2012 GMT 
- Issuer: Equifax Secure Certificate Authority, Equifax, US 
- Fingerprint: c1:34:e1:1c:2b:xx:2d:52:2a:xx:47:f9:5c:31:ad:fc:dd:02:db:xx 
(R)eject, accept (t)emporarily or accept (p)ermanently? svn: Commit failed (details follow): 
svn: OPTIONS of 'https://xx.xx.xx.xx/svn/Kavrakoglu/trunk/CalismaAlani/Dataset/tjmkld874y2bfdb9149884yhndmkg5mk/VTIT080200BY13': Server certificate verification failed: certificate issued for a different hostname (https://xx.xx.xx.xx) 

当我手动运行此脚本时,它不会提供任何错误并成功提交。这个问题的原因可能是什么?我该如何解决?谢谢

+1

您的cronjob是否与其他用户一起运行?你使用哪个客户端?如果证书是可疑的,证书必须被接受一次,所以有时候你必须做一次svn相关的操作,然后你可以再次在脚本中使用它。也许你的证书已经过期... – mliebelt

回答

5

有三个选项:

  1. 让您的网络管理员发出更新/正确的证书(最好的选择)
  2. 更改命令svn commit --non-interactive --trust-server-cert
  3. 须藤根然后换乘无论用户是由cron使用:su cron_user然后手动提交。你应该得到上面的提示,然后你可以选择'p'来永久接受。
+0

对于路径2.和3.你需要确保cron_user在其主目录下有一个可写的.subversion目录,否则'p'接受永远不会被存储 – icc97

+0

这是一个好点 –