tarの差分バックアップ

前回の続き

でctime変化しちゃってどうしたか?
ファイルサイズとファイル名を取っておいて差分を作ることにした

こんな感じのスクリプトで、ファイル名 + tab + ファイルサイズで保存する
(厳密にやる場合はsha256とかで)

そんで現在のファイルリストも取って、差分をとる

diff -u previous.txt now.txt | 
    egrep "^\+[^\+]" | 
    perl -ple 's/^\+//;s/\t.+//' > tar.txt

あとは-Tオプションで差分のファイルだけをtarで固める

tar -cvaf hoge.tgz -T tar.txt