2012-02-13 12 views
2

私はsvnリポジトリからコードを引き出すためにcrontabエントリを設定しました。これはOSX 10.7(Lion)に搭載されています。svn authentication from cron job(osx 10.7)

リポジトリが公開されている場合は問題なく動作します。

リポジトリがプライベート(つまりユーザー/パスが必要)の場合、通常、ユーザー/パスプロンプトなしでコマンドラインで資格情報がキャッシュされていても、自動編集は失敗します。

私は、同じシェルを実行していて、同じユーザーで、ホームフォルダが正しいと言っています。しかし、svnはファイルをエクスポートできません。私はエラーcron電子メールで私はそれがパスワードを尋ねる、それを取得しない、それを得る、それを取得しないと、メッセージで失敗することを確認することができます:

認証に失敗しました:認証できませんでしたサーバに:拒否された基本的な挑戦 (私は特定のURLを省略しました)

これまでにこれを行う必要はありませんでしたが、--non-interactiveと--config-dir 。

アイデア?

おかげで、オースティンのトーマスBLOM、TX

+0

ちょっとしたアイデア:冗長な出力を有効にし、stderrをログにリダイレクトして、あなたに食べ物をくれますか? httpベースのレポの場合: "subversion操作の出力をより詳細にするには、クライアントで ネオン・デバッグを有効にする必要があります。 行' neon-debug-mask = 130'を追加して〜/ .subversion/serversファイルを編集します。ファイルの の[グローバル]セクションに移動します。また、[グローバル]行のコメントも解除してください。" –

+0

おそらく関連するトピック(回答なし)[http://serverfault.com/questions/293835/svn-command-works-in-shell-but-not-in-cron-why-not](http:// serverfault.com/questions/293835/svn-command-works-in-shell-but-not-in-cron-why-not) –

+0

これは別のフォーラムでも同じ問題であり、そこにいるユーザーがssh-agentを使用していますが、これをsvnにどのように適用するかはわかりません。残念ながら答えは "use launchctl"です。http://apple.stackexchange.com/questions/18832/ssh-under-cron-stops -working-in-os-x-10-7-lion –

答えて

2

svn help co

Global options: 
    --username ARG   : specify a username ARG 
    --password ARG   : specify a password ARG 
+0

これは実際には機能しますが、svnに暗号化されていないパスワードをディスクに保存させる必要があるようですが、これは良い解決策ではありません。ユーザー名を格納してcronjobに渡します。通常、資格情報がキャッシュされている場合は、この情報を明示的に指定する必要はありません。コマンドプロンプトで指定した場合にのみ、この情報を提供する必要はありませんb cronジョブから実行しています。 –

+0

@ThomasBlom - 多分*個人的なcrontab *はあなたのために解決されるでしょうか? –

+0

@ThomasBlomと**あなたは**認証目的で--config-dirを使うことができますが、fromからのキャッシュ認証はもっと正しい方向です、と私は思っています –

0

はこれを試してみてください...私は認めるものの、非常に愚かであるが、それは私のために働きました。

私はSVN/Cronの仕事をするためにダミーのアカウントを使用していますが、私は最近あなたと同じことに遭遇しました。 OSXライオン。

コマンドラインでは実行できますが、cronでは実行できません。私は実際にどこにいるのか急いでいるので、私はそれを説明することはできませんので、私は研究をあなたに任せます。ここで私は私の問題を修正するために何をしたかである:

  1. リモートで(私が持っている今でも、遠隔でlogedながら再帰的にあなたのsvnコマンドを実行し、〜/ライブラリ/キーホルダー
  2. を削除SSH
  3. を使用して、あなたのアカウントにログイン私の〜/ .subversionの設定/パスワードを保存するためのサーバーなどはFYIのみ)

これは私のために働いた。何らかの理由で、MacのKeychainはSubversionの組み込みのsave_my_authenticationメソッドを妨害していました。私はKeychainsのLDAP/SVNコマンドのエントリを見ることができます。しかし、KeychainsはCronを使用していないようです。または、cronはKeychainsを使用していません:)(おそらくその最後の部分)

明らかに、これはあなたの個人的なアカウントであれば、キーチェーンディレクトリを削除する!キーチェーン内のSVNエントリを削除してから、SSHを使用しているときにremoteコマンドを実行してみてください。

関連する問題