Tar 令人困惑的错误消息

Tar 令人困惑的错误消息

我正在尝试使用 tar 命令创建自动备份文件。

tar -czg /home/user/BackupArchiv/snapshots/snapshot_2020-10-09 -f /home/user/BackupArchiv/backup_2020-10-09/backupfull.tar.gz /home 

脚本执行此命令后,它会给出一堆错误消息并停止,即使它不应该停止。大多数错误消息告诉我没有权限访问某些文件,但这三个错误消息让我失望:

tar: remove leading / from member names
tar: remove leading / from hard link targets
tar: exiting with failure status due to previous errors

(我希望我正确翻译了所有这些)我不确定该命令有什么问题,并且访问有关这些错误的页面也没有真正的帮助。

编辑:我正在谈论的其他错误消息来自我创建的另一个用户的文件。我不知何故无法访问这些,并且我不确定如何解决这个问题。我注意到的另一件事是备份文件本身存在问题,因为它们在命令期间发生了更改。但我认为没有任何可能的解决方案。

答案1

权限错误正在破坏使用 指定的增量 tar 存档的创建-g

这是我的观点:

没有权限读取整个目录内容:

$ tar -czg ./incremental_file -f ./backupfull.tar.gz /tmp
tar: /tmp/pulse-PKdhtXMmr18n: Cannot open: Permission denied
tar: /tmp/systemd-private-43e2279e55a349ceadf346b4d247d0a7-colord.service-sitmvL: Cannot open: Permission denied
tar: /tmp/systemd-private-43e2279e55a349ceadf346b4d247d0a7-rtkit-daemon.service-pJ6qty: Cannot open: Permission denied
tar: Removing leading `/' from member names
tar: Exiting with failure status due to previous errors

具有(root)权限:

$ sudo tar -czg ./incremental_file -f ./backupfull.tar.gz /tmp
tar: Removing leading `/' from member names
tar: /tmp/.ICE-unix/1445: socket ignored
tar: /tmp/.ICE-unix/1629: socket ignored
tar: /tmp/.X11-unix/X0: socket ignored
tar: /tmp/.X11-unix/X1: socket ignored
tar: /tmp/ssh-Vp6I2M0cTcci/agent.1629: socket ignored
$ ls *tar.gz -alh
-rw-r--r-- 1 user user 644 Oct 13 09:33 backupfull.tar.gz

具有非 root 权限:

$ mkdir bkp_dir
$ touch bkp_dir/bla
$ touch bkp_dir/bla2
$ touch bkp_dir/bla2
$ touch bkp_dir/bla3
$ touch bkp_dir/bla4
$ touch bkp_dir/bla41
$ tar -czg ./incremental_file -f ./backupfull.tar.gz ./bkp_dir
# tar exited OK creating archive

相关内容