7-zip 备份文件夹,排除部分文件夹但保留排除文件夹的名称

7-zip 备份文件夹,排除部分文件夹但保留排除文件夹的名称

在 Linux 中使用 7-zip 时,我需要

  • 将 zip 文件保存到绝对路径:/var/www/vhosts/mysite.com/httpdocs/app/webroot/myfiles.7z
  • 备份其中的所有文件和子文件夹:/var/www/vhosts/mysite.com/httpdocs/
  • 完全排除这些文件夹、其子文件夹及其内部的所有文件:/var/www/vhosts/mysite.com/httpdocs/app/tmp/sessions/ /var/www/vhosts/mysite.com/httpdocs/app/posts/
  • 排除这些文件夹中的所有文件,但保留文件夹名称: /var/www/vhosts/mysite.com/httpdocs/app/news/ /var/www/vhosts/mysite.com/httpdocs/app/handy/
    我的意思是,zip 文件将包含“news”和“handy”文件夹,但该文件夹将为空

我尝试过这个但没有帮助:

# 7za a 
  /var/www/vhosts/mysite.com/httpdocs/app/webroot/myfiles.7z 
  /var/www/vhosts/mysite.com/httpdocs/ 
   -xr!app\tmp\sessions\ 
   -xr!app\posts\ 
   -xr!app\news\*.* 
   -xr!app\handy\*.*

答案1

在排除表达式之前添加“ *”(并使用正斜杠,这是 Linux,对吗?)有助于:

$ 7za 到 /var/www/vhosts/mysite.com/httpdocs/app/webroot/myfiles.7z \
    /var/www/vhosts/mysite.com/httpdocs/ \
    -xr\!* 应用程序/tmp/会话 \
    -xr\!*应用程序/帖子\
    -xr\!*应用/新闻/* \
    -xr\!*应用程序/便捷/*

还有7Zip - 命令行:通过通配符模式排除文件夹?

相关内容