読者です 読者をやめる 読者になる 読者になる

spring of life

技術、ときどき日常のブログ(予定)

.tar.gz の作成(圧縮)

ruby で圧縮処理しようと思ったんだが、あんまり記事がなかったので自分でメモ

唯一(と言ってもいいくらい無かった)見つかったのが↓の記事

d.hatena.ne.jp

まぁでもこれもけっこう古い記事で、今は gem の名前が変わってるっぽい。

今は minitar という gem と、あと minitar-cli っていうのも一緒にインストールする(bundle installしたらメッセージが出てくる)

# Gemfile

gem 'minitar'
gem 'minitar-cli'

で、使い方はだいたい↑の記事といっしょで、Archive::Tar::MinitarのとこをMinitarに直すくらいかな。

require 'zlib'
require 'archive/tar/minitar'

Zlib::GzipWriter.open('foo.tar.gz', Zlib::BEST_COMPRESSION) do |gz|
  out = Minitar::Output.new(gz)
  Dir['/path/to/dir/*'].each do |file|
    Minitar::pack_file(file, out)
  end
  out.close
end