我正在尝试使用以下方法编写备份脚本这个答案来自超级用户显示进度条。
我tar
这样调用:
tar cf --exclude-vcs --exclude-ignore=.tarignore - $backup_files -P | pv -s $(du -csb $backup_files |awk '{print $1}'|tail -n 1) | gzip > "$target_file"
我收到的是错误消息“tar -:无法统计:没有这样的文件或目录”,但脚本仍在运行。这里究竟发生了什么?为什么 tar 不解释-
为“使用 stdout 而不是输出文件”?
答案1
问题是 tar 标志f
意味着下一个论点被解释为文件名,而不是第一个文件操作数就像旧文档一样建议。我在我的工作目录中找到了一个名为--exclude-vcs
.
参数的正确顺序是
tar cf - --exclude-vcs --exclude-ignore=.tarignore $backup_files -P
我不确定为什么 tar 退出时脚本没有退出。