2009-07-11 50 views
17

使用Ruby創建gzipped tar歸檔文件的最佳方式是什麼?Ruby:創建一個Gzipped Tar歸檔文件

我有一個Rails應用程序,需要創建一個壓縮歸檔來響應用戶操作。理想情況下,可以直接寫入壓縮文件而無需首先生成中間臨時文件。 Ruby Zlib庫似乎支持直接gzip壓縮。我怎樣才能將它與tar輸出結合起來?

似乎已經提出了許多準解決方案,並且大量信息似乎已經過期。

例如,「ruby tar」的頂部Google搜索結果爲this thread,它始於2007年,顯然沒有解析。

另一個高級搜索結果是this one describing ruby tar。它的歷史可以追溯到2002年,而這一宣佈並不能真正激發人們的信心。

我也看到了各種關於unix焦油之類的報道。

所以,我知道有很多方法可以做到這一點,但我真的很想找一個建議給最可靠,最方便的人嘗試一些替代方案。

任何想法?

+0

您是否找到答案? – hornairs 2010-01-24 22:29:41

+0

這與我的問題非常相似:http://stackoverflow.com/questions/7856491/ruby-streaming-tar-gz 任何人都可以找到答案? – 2011-10-22 06:49:16

+0

我還在玩這個,但這看起來像個好主意。 Ruby的[Archive :: Tar](http://www.ruby-doc.org/gems/docs/a/archive-tar-0.9.0/Archive/Tar.html) – Pred 2014-06-05 13:17:27

回答

4

Ruby Minitar項目於2009年更新,似乎將解決您的問題

9

如果你在UNIX下運行,你可以將文件寫入到磁盤上,然後運行一個系統調用來焦油/ gzip壓縮他們。

`tar -czf #{file_name}.tar.gz #{file_name}` 
相關問題