web-dev-qa-db-ja.com

7ZipLinuxコマンドライン-ディレクトリを除く

7Zipを使用して自分のWebサイトの.7zアーカイブを作成したいと思います。私はすでにそれらのバックアップを持っているので、バックアップする価値のない大きなファイル(数ギガバイト)を含むいくつかのディレクトリがあります。特定のファイルまたはディレクトリのみをバックアップするように指定することもできますが、これを実行するスクリプトを作成する予定であり、新しいファイル、ファイルタイプ、およびディレクトリを含めるようにスクリプトを更新し続けるのは少し面倒です。ディレクトリの除外に関するドキュメントには、私の人生では何も見つかりません。ファイルのみ。これを行う最も簡単な方法は何ですか?

以前(避けるべき大きなファイルができる前に)使用したコマンドは単純でした

7z a backup.7z *

作業ディレクトリで行われます。

2

directoryはファイルの一種です。 man 7zは読みにくいですが、-xについて言及しています:

-x[r[-|0]]]{@listfile|!wildcard}


    Exclude filenames

次のディレクトリツリーがあるとしましょう。

$ tree
.
├── dir
│   └── file3
├── dir1
│   └── file4
├── file1
└── file2

2 directories, 4 files

dirdir1を無視したい:

$ 7z a -x'!dir' -x'!dir1' b.7z  *

それを行った後:

$ 7z l b.7z
(...)
   Date      Time    Attr         Size   Compressed  Name
------------------- ----- ------------ ------------  ------------------------
2018-04-03 22:25:24 ....A            0            0  file1
2018-04-03 22:25:24 ....A            0            0  file2
------------------- ----- ------------ ------------  ------------------------
2018-04-03 22:25:24                  0            0  2 files
2