Greg
6/28/2007 5:26:00 AM
This issue has been discussed on the mail list before. I would
recommend using ftp or sftp if possible, otherwise search the list!
On Jun 27, 4:24 pm, Tim McIntyre <t...@easystreet.com> wrote:
> Hey all,
>
> I've got a little script that is attempting to copy images to a
> remote server. The significant parts of the script were taken
> directly from recipe 14.11 in the ruby cookbook.
>
> relevant sections:
>
> # directly from cookbook recipe 14.11
> def remote_copy(session, source_path, destination_path=nil)
> destination_path ||= source_path
> cmd = %{cat > "#{destination_path.gsub('"', '\"')}"}
> cat_process = session.process.open(cmd)
>
> cat_process.on_success do |p|
> p.write(open(source_path) { |f| f.read })
> p.close
> puts "Copied #{source_path} to #{destination_path}."
> end
> end
>
> # slightly modified from same recipe
> Net::SSH.start
> ('remote.server.com', :username=>'user', :password=>'pass') do |session|
> Film.find(:all).each do |film|
> if film.small_local_cover_image_exists?
> remote_copy(session, film.small_local_cover_path,
>
> film.small_remote_cover_path)
> end
> end
> session.loop
> end
>
> When I run it works for about the first 4 or 5 films then dies with
> this message:
>
> /usr/lib/ruby/gems/1.8/gems/net-ssh-1.0.10/lib/net/ssh/transport/
> session.rb:258:in `wait_for_message': disconnected: Received data for
> nonexistent channel 2. (2) (Net::SSH::Transport::Disconnect)
> from /usr/lib/ruby/gems/1.8/gems/net-ssh-1.0.10/lib/net/ssh/
> transport/session.rb:242:in `wait_for_message'
> from /usr/lib/ruby/gems/1.8/gems/net-ssh-1.0.10/lib/net/ssh/
> connection/driver.rb:148:in `process'
> from /usr/lib/ruby/gems/1.8/gems/net-ssh-1.0.10/lib/net/ssh/
> connection/driver.rb:138:in `loop'
> from /usr/lib/ruby/gems/1.8/gems/net-ssh-1.0.10/lib/net/ssh/
> session.rb:164:in `loop'
> from script/cron/move_images_to_static_server.rb:53
> from /usr/lib/ruby/gems/1.8/gems/net-ssh-1.0.10/lib/net/ssh/
> session.rb:127:in `initialize'
> from /usr/lib/ruby/gems/1.8/gems/net-ssh-1.0.10/lib/net/
> ssh.rb:47:in `start'
> from script/cron/move_images_to_static_server.rb:37
>
> ubuntu 6.06 "Dapper Drake" - ruby 1.8.4 - net-ssh 1.0.10
>
> Thanks in advance for any help!
> Tim