GNU/Linux >> Linux の 問題 >  >> Linux

特定のファイル/フォルダーを除く tar ディレクトリへのシェル コマンド

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

Linux
  1. シェル - コマンドのディレクトリを見つける方法は?

  2. ディレクトリのすべてのファイルを空にする linux コマンド

  3. ls コマンドからディレクトリを除外するにはどうすればよいですか

  1. Linuxで特定のサイズのファイルを作成する方法

  2. 特定のファイルまたはディレクトリを除いて、ファイルをtar(圧縮)する方法

  3. 正規表現を使用して TAR アーカイブからファイルを除外する方法は?

  1. [Linux]:「tar」シェルコマンドを使用するときにディレクトリを除外する方法

  2. find でディレクトリを除外する方法。指図

  3. .tar.gz ファイルの作成時にディレクトリを除外する