2011-10-04 63 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

這是一個好點 –