Dar で、~/.darrc に除外したいディレクトリを逐一指定しておくのもいいけれど、 Cache Directory Tagging Standard という仕組みを使えば簡単にキャッシュディレクトリを除外できる。
仕組みは簡単で、キャッシュディレクトリだと認識するディレクトリの中に、CACHEDIR.TAGというファイルを作り、ファイルの中身を、
と書いておけばいい。最初の一行だけで事足りるだろうけど。ようするにキャッシュディレクトリにタグ付けをしておくということですね。Signature: 8a477f597d28d172789f06886806bc55
# This file is a cache directory tag created by (application name).
# For information about cache directory tags, see:
# http://www.brynosaurus.com/cachedir/
あとは例えばDarならバックアップのさいに、 -, オプションを付ければ CACHEDIR.TAG のあるディレクトリは除外してバックアップしてくれる。
ほかにもtar や cpio 、 rsync なども対応しているので、ガンガン利用していきましょう。
いやぁ、linuxってかゆいところに手が届く的な便利さがありますね♪
以下、作業メモ。
find ~/ -iname cache -print | wcで23個ものcacheディレクトリがあったので、
とrubyスクリプトを書いて、#!/usr/bin/ruby
#
#
name= "set_cachetag.rb"
tt1 = "Signature: 8a477f597d28d172789f06886806bc55\n" +
"# This file is a cache directory tag created by "
tt2 = "# For information about cache directory tags, see:\n" +
"# http://www.brynosaurus.com/cachedir/ \n"
tagtext = tt1 + name + "\n" + tt2
while gets
if File.directory?($_.chop) then
cpath = $_.chop + "/CACHEDIR.TAG"
unless File.exist?(cpath) then
print $_
tag = File.new(cpath , "w")
tag << tagtext
tag.close
end
end
end
find ~/ -iname cache | ruby set_cachetag.rbとしていっきに CACHEDIR.TAG ファイルを生成した。楽だ♪
0 件のコメント:
コメントを投稿