You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

为何我的tar命令执行失败,提示拒绝创建空归档文件?

tar报错"Cowardly refusing to create an empty archive"原因及解决方案

错误原因

  • 命令语法错误:归档文件名和待打包目录之间未加空格
    你提供的三条命令都存在该问题,比如tar -czf $zielpfad/full_backup_$datum.tar.gz/home中,系统会把$zielpfad/full_backup_$datum.tar.gz/home整体识别为要生成的归档文件名,后面没有指定任何待打包的文件/目录,tar判定你要生成空归档直接触发报错。
  • 增量备份参数格式错误
    增量备份命令里的-newer是错误写法,正确参数为--newer(双短横线前缀),参数识别失败会导致筛选不到待打包的增量文件,最终触发空归档报错。
  • 变量值异常
    如果$letztes_full_backup变量为空、或者指向的文件不存在,--newer筛选条件无效,找不到符合要求的文件,也会触发该报错。

解决方法

  • 修正命令空格:所有命令的归档文件名后缀和待打包的/home目录之间添加空格,全量备份命令修改为:
tar -czf $zielpfad/full_backup_$datum.tar.gz /home
  • 修正增量备份参数,同时提前校验变量有效性:
# 先校验上次全量备份文件是否存在
if [ -f "$letztes_full_backup" ];then
  tar -cz --newer "$letztes_full_backup" -f "$zielpfad/inc_backup_home_$datum.tar.gz" /home
else
  echo "上次全量备份文件不存在,请检查变量letztes_full_backup赋值"
fi
  • 执行命令前可先加--dry-run参数测试,确认有内容要打包再正式执行,避免报错。

内容的提问来源于stack exchange,提问作者Jessica

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.24 22:06:03