restic version
休息 0.8.2
% restic -r /tmp/restictest backup $SSHFSMOUNT/directory
备份目录是一个 sshfs 挂载的文件系统。
该命令运行多次以执行多个快照。
在大多数情况下,远程目录中有大量数据 (1TB+)。
本地 ext4 文件系统。
我预计第一次备份会很慢并且通过 LAN 传输大量数据,而下一次备份应该会很快并且不应该使用太多带宽。
即使没有文件更改,所有备份也需要数小时(如果不是数天)。
它不是 100% 可重现的,但即使使用少量数据我也可以重现它。
SFTP 服务器日志显示即使文件没有更改,文件也已完全检索。
是:restic 比较 inode 以仔细检查文件是否已被修改(调试消息“时间戳、大小或 inode 已更改”, restic/node.go:551restic.(*Node).IsNewer11node
)。
但是,inode 可能会在使用 sshfs(可能还有其他一些文件系统)的文件系统挂载之间发生变化。
注释掉 inode 检查为我解决了这个问题。
我想有办法禁用此检查; 也许是命令行标志?
当然,这是一款不错的软件! 自从我找到了解决方法后,我就更加高兴了...
保持良好的工作!
感谢您的报告,这确实是由于基于 inode 检测到文件已更改而导致的。 对于基于熔断器的文件系统,这种检查不是很好,我们应该只检查时间戳和文件大小。
原则上,这也可以自动检测到(通过查看文件系统名称,并保留已知 inode 不稳定文件系统的黑名单),因此我们甚至可能不需要命令行标志。
原则上,这也可以自动检测到(通过查看文件系统名称,并保留已知 inode 不稳定文件系统的黑名单),因此我们甚至可能不需要命令行标志。
你如何设想这一点? 我可以试一试...
0.9.5
,这应该关闭。 :眨眼:你说得对,谢谢指点!
最有用的评论
感谢您的报告,这确实是由于基于 inode 检测到文件已更改而导致的。 对于基于熔断器的文件系统,这种检查不是很好,我们应该只检查时间戳和文件大小。
原则上,这也可以自动检测到(通过查看文件系统名称,并保留已知 inode 不稳定文件系统的黑名单),因此我们甚至可能不需要命令行标志。