2012-01-13 59 views
0

私はnet-sftp gemを使ってsftpアカウントのファイルにアクセスしています。私は他の1つのSFTPアカウントから100個の以上のファイルをコピーするようないくつかの一括操作をしていますが、私はエラーを取得しています:sftpタイムアウトエラーが発生するのはなぜですか?

Net::SFTP::StatusException (4, "failure") 

私はこれが原因でセッションがタイムアウトまたはバッファのサイズ制限の起こっていると思いますか?その場合、100を超えるファイルに対して一括操作を実行できるように制限をどのように増やしますか。ここで

は、スタックトレースです:

Net::SFTP::StatusException (4, "failure") 
"/usr/local/lib/ruby/gems/1.8/gems/net-sftp-2.0.2/lib/net/sftp/session.rb:845:in `wait_for'", 
"/usr/local/lib/ruby/gems/1.8/gems/net-sftp-2.0.2/lib/net /sftp/session.rb:589:in `rename!'", 
"/home/xxxxx_user/prod/lib/tasks /xxxxx_rfa_intake.rake:72:in `move'", 
"/home/xxxxx_user/prod/lib/tasks /xxxxx_rfa_intake.rake:61:in `process'", 
"/home/xxxxx_user/prod/lib/tasks /xxxxx_rfa_intake.rake:26", 
"/home/xxxxx_user/prod/lib/tasks /xxxxx_rfa_intake.rake:20:in `each'", 
"/home/xxxxx_user/prod/lib/tasks/xxxxx_rfa_intake.rake:20", 
"/usr/local/lib/ruby/gems/1.8/gems/net-sftp-2.0.2/lib/net/sftp/session.rb:938:in `call'", 
"/usr/local/lib/ruby/gems/1.8/gems/net-sftp-2.0.2/lib/net/sftp/session.rb:938:in `do_version'", 
"/usr/local/lib/ruby/gems/1.8/gems/net-sftp-2.0.2/lib/net/sftp/session.rb:938:in `each'", 
"/usr/local/lib/ruby/gems/1.8/gems/net-sftp-2.0.2/lib/net/sftp/session.rb:938:in `do_version'", 
"/usr/local/lib/ruby/gems/1.8/gems/net-sftp-2.0.2/lib/net/sftp/session.rb:908:in `when_channel_polled'", 
"/usr/local/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:31:in `to_proc'", 
"/usr/local/lib/ruby/gems/1.8/gems/net-ssh-2.0.21/lib/net/ssh/connection/channel.rb:311:in `call'", 

答えて

2

この2行は、コードが名前の変更を待ってタイムアウトされると言う:

あなたのコード内で発生している
"/usr/local/lib/ruby/gems/1.8/gems/net-sftp-2.0.2/lib/net/sftp/session.rb:845:in `wait_for'", 
"/usr/local/lib/ruby/gems/1.8/gems/net-sftp-2.0.2/lib/net/sftp/session.rb:589:in `rename!'", 

"/home/xxxxx_user/prod/lib/tasks/xxxxx_rfa_intake.rake:72:in `move'", 

何らかの理由で移動が失敗しています。私の経験では、パーミッションが正しくないか、ドライブがいっぱいだが、他にもたくさんの理由があるかもしれないからです。

あなたは私が与えることができるほどの助けとなるソースコードを提供していないためです。

+0

ここは私のコードです。Net :: SFTP.start( "host"、 "username"、:password => "password")do | sftp | sftp.dir.entries(@path).each do | entry | 移動(SFTP、エントリ、@から、@processed_pa​​th) 端端 DEF remote.rename(へ、から、リモート、RFA)を移動!( "#{から} /#{rfa.name}" "#{to} /#{rfa.name}")//この行にエラーが発生しています end –

+0

このエラーが発生した後、 –

関連する問題