tar: Exiting with failure status due to previous errorsの対処

tarで圧縮バックアップをしていたら、

tar: Exiting with failure status due to previous errors

というメッセージが出た。tarアーカイブファイルはとりあえずできているし、とくに問題なさそう。何度か試しても同じようにメッセージが出る。

原因がわからなかったが、メッセージを調べていくと、tarアーカイブ生成中に、

tar: *****/sedNoCWMq: Cannot open: Permission denied

のメッセージが出ていた。該当ディレクトリ下でパーミッションがないわけないし、ファイル名が自動生成っぽい。ls -lで見てみると、

---------- 1 *********** sedNoCWMq

の状態。ユーザーパーミッションではなく、リードパーミッションそのものとは。vimの自動生成ファイルか、何かの残骸であろう。該当ファイルを削除して再度tarを実行してみたら、エラーメッセージはでなくなった。解決。

というわけで、「tar: Exiting with failure status due to previous errors」というエラーに遭遇したら、まずはfindでパーミッションがおかしいファイルを探し出すのが手。

# find . -perm 000

これでいくつかファイルがあるようなら、ファイルを確認し、パーミッションを変更するか、削除すればOKだ。

# find . -perm 000 -exec rm -rf {} \;