tar so には複数の除外オプションを設定できます
$ tar --exclude='./folder' --exclude='./upload/folder2' -zcvf /backup/filename.tgz .
などが動作します。 確認 --exclude
を入れる 以前 ソース アイテムと宛先アイテム。
多くの答えがある古い質問ですが、どれも私にとって十分に明確ではないことがわかったので、私の試みを追加したいと思います.
次の構造がある場合
/home/ftp/mysite/
次のファイル/フォルダーを使用
/home/ftp/mysite/file1
/home/ftp/mysite/file2
/home/ftp/mysite/file3
/home/ftp/mysite/folder1
/home/ftp/mysite/folder2
/home/ftp/mysite/folder3
したがって、/home/ftp/mysite (サイトを新しいサーバーに移動するため) 内のすべてを含む tar ファイルを作成したいのですが、 file3
がらくたで、folder3
のすべて も必要ないので、これら 2 つをスキップします。
フォーマットを使用します
tar -czvf <name of tar file> <what to tar> <any excludes>
ここで、c =create、z =zip、および v =verbose です (入力されたファイルを確認できます。除外するファイルが追加されていないことを確認するのに役立ちます)。および f=ファイル。
したがって、私のコマンドは次のようになります
cd /home/ftp/
tar -czvf mysite.tar.gz mysite --exclude='file3' --exclude='folder3'
除外されたファイル/フォルダーは、tar のルートに対して相対的であることに注意してください (ここで / に対して相対的なフルパスを試しましたが、うまくいきません)。
これが誰かを助けることを願っています(そして次に私がそれをグーグルするとき)
tar を使用してバックアップからファイル/ディレクトリを除外するための可能なオプション:
複数のパターンを使用してファイルを除外する
tar -czf backup.tar.gz --exclude=PATTERN1 --exclude=PATTERN2 ... /path/to/backup
パターンのリストで満たされた除外ファイルを使用してファイルを除外
tar -czf backup.tar.gz -X /path/to/exclude.txt /path/to/backup
スキップする必要がある任意のディレクトリにタグ ファイルを配置して、タグを使用してファイルを除外します
tar -czf backup.tar.gz --exclude-tag-all=exclude.tag /path/to/backup
--exclude
でディレクトリを除外できます
/usr
以外のすべてをアーカイブする場合 使用できます:
tar -zcvf /all.tgz / --exclude=/usr
あなたの場合、おそらく次のようなものです
tar -zcvf archive.tgz arc_dir --exclude=dir/ignore_this_dir