Setting the compression option affects all SSH traffic over the  
connection, which includes sftp and scp.

Also, 'judo' is a term we use at 37signals a lot to refer to a quick  
solution to a potentially thorny problem. If you're curious, you can  
read http://www.37signals.com/svn/posts/312-lingo-judo for more on how  
we use it. It's become such a part of my vocabulary that I forget not  
everyone uses it that way. :) Sorry for the confusion.

- Jamis

On Jun 3, 2008, at 10:23 AM, Sam Granieri wrote:

>
> My ssh package is the stock one with ubuntu hardy.
>
> In /etc/ssh/sshd_config i added a line "Compression yes", which  
> appeared
> to turn the compression on after I restarted sshd.
>
> Does
> ssh_options[:compression] = true
> also compress the net/scp and net/sftp streams as well?
>
> Also, what's a 'judo option'?
>
>
> Jamis Buck wrote:
>> One judo option would be:
>>
>>    ssh_options[:compression] = true
>>
>> That will enable zlib compression for your entire SSH session
>> (assuming your SSH server is configured to allow zlib transport).
>>
>> Aside from that, note that if you do the zlib compression of the data
>> using the Zlib ruby bindings, you'll need to make sure and uncompress
>> the files on the other end.
>>
>> - Jamis
>>
>> On Jun 3, 2008, at 9:45 AM, Sam Granieri wrote:
>>
>>> Is there a way to wrap the file upload/download stream with zlib
>>> compression?
>>>
>>> I have to upload and download easily compressible log and csv files.
>>> They're huge, and take a while. I tried shelling out the compression
>>> task, but several coworkers are using windows (I'm on a Mac).
>>>
>>> I found Ruby has a built-in zlib library which compresses CSVs and  
>>> log
>>> files very very nicely.
>>>
>>> If no one has already done this, I'm going to try to wrap my file
>>> upload
>>> and download tasks with Zlib compression.
>>>
>>> I'll then try to extract that functionality and move it into
>>> Capistrano
>>> itself.
>>>
>>> I'll share the results and propose it as a patch for further release
>>>
>>> Here's the uncompressed task I'm using as it stands now.
>>>
>>> desc "Upload CSV Files"
>>> task :copy do
>>>   Dir.glob("lib/imports/**/*.csv") do |file|
>>>     put(File.read(file), "#{shared_path}/#{file}")
>>>   end
>>> end
>>>
>>> What I'm writing now is
>>> desc "Upload CSV Files"
>>> task :copy do
>>>   Dir.glob("lib/imports/**/*.csv") do |file|
>>>     put(Deflate.deflate(File.read(file)), "#{shared_path}/#{file}")
>>>     # write a rake task that runs zlib inflate on the file
>>>   end
>>> end
>>>
>>> Here's the syntax I'm shooting for.
>>>
>>> desc "Upload CSV Files"
>>> task :copy do
>>>   Dir.glob("lib/imports/**/*.csv") do |file|
>>>     put(File.read(file), "#{shared_path}/#{file}", :compress=>:zlib)
>>>   end
>>> end
>>>
>>> I hope this helps!
>>>
>>>
>>
>>
>>>
>
>
> >


--~--~---------~--~----~------------~-------~--~----~
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at http://groups.google.com/group/capistrano
-~----------~----~----~----~------~----~------~--~---

Reply via email to