Debianstretchにアップグレードした後、Tar除外リストは機能しなくなりました。

Debianstretchにアップグレードした後、Tar除外リストは機能しなくなりました。

私はずっと前にバックアップスクリプトを書いていました。tar マニュアルのこの部分:

複数の「--exclude」オプションを提供できます。

--exclude-from=file

-X file

tarがfileにリストされているパターンと一致するファイルを無視するようにします。

私のtarコマンドは次のとおりです。

includesFile=include.txt
excludesFile=exclude.txt
tar zcpf - . -T ${includesFile} -X ${excludesFile} | openssl des3 -salt | dd of=out.bak

これはinclude.txt

/etc/
/var/
/usr/
/data/
/opt/
/root

これはexclude.txt

/data/webapp/webapp-data/*
/var/cache/*
/var/lib/dpkg/*
/usr/bin/*
/usr/share/locale/*

以前はうまくいきました。最近、私はアーカイブのサイズが著しく増加したことを知り、verboseに切り替えると巨大なディレクトリがtar含まれていることがわかります。webapp-data何らかの理由でこれ以上除外されません。

最後にやったことはアップグレードでした。Debian の提示到着Debian ストレッチ。バージョン変更が非常に少ないので、これが理由かどうかはわかりません。

/data/webapp/webapp-data/*変更してみましたが役に立ち/data/webapp/webapp-data/**ませんでした。

除外リストが機能しなくなったのはなぜですか?

ベストアンサー1



Debian JessieからStretchにアップグレードした後、tar除外と同じ問題が発生し、コマンドライン引数の順序を次から変更して問題を解決しました。私のbackup_exclude.txtは次のようになります
tar cvzpf backup.tar.gz /DirToBackup1 /DirToBackup2 --exclude-from=/path/to/backup_exclude.txt


tar cvzpf backup.tar.gz --exclude-from=/path/to/backup_exclude.txt /DirToBackup1 /DirToBackup2

/var/log/* /cache/* /.cache/*

(ページの最後を参照 https://www.gnu.org/software/tar/manual/html_section/tar_49.html)

おすすめ記事