ページ

2021年5月7日金曜日

find tarで期待通りにファイルは圧縮されない。ファイルが足りない。絶望する前に。

find tarで絶望する前に

期待通りにファイルは圧縮されない。ファイルが足りない。

"find tar" で検索すると、まず出てくるのが xargs を使う方法。
例えば

find ./ -mtime -10 | xargs tar zcvf hogehoge.tar.gz

でもこれって、鵜呑みにして(信じて)設定すると

対象ファイル数が多いとすべてのファイルが保存されていない。


また、
フォルダ名にスペースが入っているとフォルダごと、
ファイル名にスペースが入っているとファイルが漏れる。

バックアップしていたつもりで、事故が起きた。さあ、復旧しよう!とした時に絶望する。

実際に私も圧縮したファイルのサイズが小さくてなんかファイルが足りないんじゃないかと予測していたんだけども。

細かい説明は本家を参考に
findの結果をtarでアーカイブしたい - 浦安市在住+デジカメ

回答だけを。

find . -print0|tar -cz -T - --null -f ../html.tar.gz
拡張子を指定したかった。
find . -type f \( -name \*.php -o -name \*.js -o -name \*.html \) -print0|tar -cz -T - --null -f ../html.tar.gz
ただ、問題なくすべてのファイルが圧縮はされるんだけど
tar: -: file name read contains nul character
と言って謎のエラーを出してくれる。

0 件のコメント:

コメントを投稿