tar --excludeは除外しません。どうして?
オプションで除外するように指示されたサブディレクトリを除外しないこと_data.tarを除いて、正常に実行する(つまりファイルを生成する)bashスクリプトにこの非常に単純な行があります:--exclude /bin/tar -cf /home/_data.tar --exclude='/data/sub1/*' --exclude='/data/sub2/*' --exclude='/data/sub3/*' --exclude='/data/sub4/*' --exclude='/data/sub5/*' /data 代わりに、_data.tar除外したいサブディレクトリ内のファイルを含む、/ dataの下にあるすべてのものを含むファイルを生成します。 理由は何ですか?そして、これを修正する方法は? 更新以下の最初の回答で提供されたリンクに基づいて、観測を実装しました(最初にトップレベルのディレクトリ、最後の除外後に空白なし): /bin/tar -cf /home/_data.tar /data --exclude='/data/sub1/*' --exclude='/data/sub2/*' --exclude='/data/sub3/*' --exclude='/data/sub4/*' --exclude='/data/sub5/*' しかし、それは助けにはなりませんでした。結果の_data.tarファイルには、すべての「除外された」サブディレクトリが存在します。 これは不可解です。これが現在のtarのバグ(GNU tar 1.23、CentOS 6.2、Linux 2.6.32上)であるか、空白やその他の見落としやすいタイプミスに対するtarの「極度の感度」であるかを問わず、これはバグだと考えます。今のところ。 これは恐ろしいことです:私は以下に示す洞察を試しました(末尾なし/*)が、実動スクリプトではまだ機能しません: /bin/tar -cf /home/_data.tar /data --exclude='/data/sub1' --exclude='/data/sub2' --exclude='/data/sub3' --exclude='/data/sub4' 私が試したものと@Richard Perrinが試したものの間に違いは見られません。ただし、引用符と1の代わりの2つのスペースを除きます。これを試します(バックアップするディレクトリとして夜間スクリプトが実行されるのを待つ必要があります)アップは巨大です)と報告します。 /bin/tar -cf /home/_data.tar /data --exclude=/data/sub1 --exclude=/data/sub2 --exclude=/data/sub3 --exclude=/data/sub4 私はこれらのすべてのtar --exclude感度がタールではなく私の環境の何かであると考え始めていますが、それでは何ができるでしょうか? …