仅压缩公共目录

仅压缩公共目录

我有很多网站(超过 100 个目录),我想创建一个仅包含公共子目录的唯一 zip。

我现在的结构是这样的:

- 地点 1
- - 应用程序
--- 临时文件
- - 日志
- - 民众

- 站点 2
- - 应用程序
--- 临时文件
- - 日志
- - 民众

- ... 100+ 目录 ...

现在我需要一个唯一的 zip 文件,然后在解压后我希望看到这个结构:

- 地点 1
- - 民众

- 站点 2
- - 民众

- 其他的

有什么建议我如何使用 Linux 命令 zip/tar 来做到这一点?

非常感谢!

答案1

只需使用通配符即可指定公共目录:

zip file.zip -r */public

答案2

sites/ $ ls

Site 1
Site 2
...
Site 100

$ zip sites.zip * -r -x app tmp log

答案3

由于您已标记“tar”。您可以尝试

tar cvjf /path/to/save/at/archive.tar.bz2 . --exclude='*/app' --exclude='*/tmp' --exclude='*/log'

创建 bz2 档案。

答案4

用于find生成列表:

find . -type d -name public -print > list.txt
tar -cvf test.tar -T list.txt

相关内容