Zip 文件夹排除某些文件夹

use*_*791 3 linux ubuntu

我正在尝试备份我的 www 文件夹,但 www 中的 .config 等隐藏文件夹已添加到备份中。我想排除文件夹“备份”和所有以点开头的文件夹(和文件)。

问题在于它将所有隐藏文件夹(如 .config)复制到 zip 文件中。

当前代码:

zip -r /var/www/backups/site/$(date +\%Y-\%m-\%d-\%H-\%M).zip /var/www -x "*backups*" "*.*" "*/.*"
Run Code Online (Sandbox Code Playgroud)

Don*_*e H 6

这应该对你有用。

zip -r --exclude=*backups* --exclude=*/.* /var/www/backups/site/$(date +\%Y-\%m-\%d-\%H-\%M).zip /var/www
Run Code Online (Sandbox Code Playgroud)


小智 5

使用带有排除标志的 Linux find 命令,然后将其通过管道传输到 zip 中。

以下命令将排除当前目录下包含关键字“backups”的所有路径或带有“/”的文件。路径中,然后将文件通过管道传输到 zip 中。

    find . | grep -v "\(backups\|/\.\)" | xargs zip archive.zip
Run Code Online (Sandbox Code Playgroud)