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
)。
ただし、iノードはsshfs(およびおそらく他のいくつかのファイルシステム)を使用したファイルシステムマウント間で変更される可能性があります。
iノードチェックをコメントアウトすると、問題が解決しました。
このチェックを無効にする方法が欲しいのですが。 多分コマンドラインフラグ?
確かに、それは素晴らしいソフトウェアです! 回避策を見つけたので、私はさらに満足しています...
良い仕事を続けてください!
レポートのおかげで、これは確かに、iノードに基づいてファイルが変更されたことをresticが検出したことが原因です。 ヒューズベースのファイルシステムの場合、このチェックは適切ではありません。代わりに、タイムスタンプとファイルサイズのみをチェックする必要があります。
原則として、これは自動的に検出される可能性もあるため(ファイルシステム名を確認し、know-inode-unstableファイルシステムのブラックリストを保持することにより)、コマンドラインフラグさえ必要ない場合があります。
原則として、これは自動的に検出される可能性もあるため(ファイルシステム名を確認し、know-inode-unstableファイルシステムのブラックリストを保持することにより)、コマンドラインフラグさえ必要ない場合があります。
これをどのように想像しますか? 私はそれにショットを与えることができます...
0.9.5
にあります。これは、閉じる必要があります。 :ウィンク:そうです、ヒントをありがとう!
最も参考になるコメント
レポートのおかげで、これは確かに、iノードに基づいてファイルが変更されたことをresticが検出したことが原因です。 ヒューズベースのファイルシステムの場合、このチェックは適切ではありません。代わりに、タイムスタンプとファイルサイズのみをチェックする必要があります。
原則として、これは自動的に検出される可能性もあるため(ファイルシステム名を確認し、know-inode-unstableファイルシステムのブラックリストを保持することにより)、コマンドラインフラグさえ必要ない場合があります。