我们刚刚升级到 Fedora 25 并重新启用了我们的 Drobo 设备的 tar/gzip 备份。
重新启用备份后,这些错误就开始发生。
gzip: stdout: Input/output error
/bin/tar: Child returned status 1
/bin/tar: Error is not recoverable: exiting now
STANDARD OUTPUT:
Backed up /home to /drobo/home.tgz
Backup of /home/users FAILED
Backed up /home/users to
home-users-FAILED.tgz
/bin/tar: home/users/aquota.user: Cannot utime: Operation not permitted
我知道 aquota.user 文件设置为不可变的:
lsattr aquota.user
----i--A------e---- aquota.user
所以我尝试了这个:
# chattr -iAe aquota.user
chattr: Operation not permitted while setting flags on aquota.user
因此我尝试在我们的备份脚本中的 tar 命令中添加这些标志:
--no-overwrite-dir --preserve-permissions
错误仍然存在。有什么想法吗?
答案1
该文件属于您的配额系统,您不应对其进行改动。只需将该文件添加到命令中的排除列表中即可tar
。
答案2
我收到了一位 GNU tar 维护人员的回复:
排除相关选项是“位置敏感“;您需要将‘home/users’参数移至命令末尾(--exclude=aquota.user 之后)。
因此在我们的/etc/drobo-backup.conf
文件中,我们不能像下面这样在备份指令中添加任何排除选项:
backup = /home/users --atime-preserve --exclude=aquota.user --exclude=.gvfs --exclude=--exclude-ignore-recursive=S.gpg-agent
一旦我们将其改为简单:
backup = /home/users
并将它们放在此指令中:
tarargs= --one-file-system --warning=no-file-ignored --warning=no-file-changed --warning=no-file-removed --use-compress-program=pigz --atime-preserve --exclude=.gvfs
不再有错误。所以我只是创建了一个单独的 cron 备份来备份文件aquota.user
。