【问题标题】:Excluding executable file in Tar在 Tar 中排除可执行文件
【发布时间】:2015-05-31 17:36:45
【问题描述】:

我正在备份我的程序,我想从 bin 目录中排除可执行文件。

我正在这样做,但它不能正常工作:

newFiles=( "bin" "include" "obj" "src" "makefile" "create_backup.sh")

tar -pczf ../backup_`date +%Y-%m-%d_%I-%M-%S`.tar.gz ${newFiles[*]} --exclude='./bin/*'

这样备份完成后可执行文件仍在bin文件夹中。

我怎样才能正确地做到这一点?

【问题讨论】:

  • 如果要排除 "bin" 变量,为什么要将它作为第一项包含在 newfiles 变量中? “之后可执行文件仍在 bin 文件夹中”是什么意思 - 当然是 - 你是否期望 tar 删除文件系统中的文件?
  • @MarkSetchell 我想删除 bin 中的可执行文件
  • 这没有意义!您在第一行明确包含bin,但您也尝试在第二行中排除它。会是哪一个?
  • 我想保留 bin 目录,但排除其中的可执行文件@MarkSetchell

标签: bash makefile backup


【解决方案1】:

尝试在命令行中按顺序将--exclude 移动到newFiles 前面,并像这样显式命名不需要的文件:

tar -pczf ../backup_`date +%Y-%m-%d_%I-%M-%S`.tar.gz --exclude='./bin/UnwantedExecutableName' ${newFiles[*]} 

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-02-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-03-11
    • 1970-01-01
    相关资源
    最近更新 更多