我有很多网站(超过 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