restic version
出力レスティック0.6.1(v0.6.1-126-gb0fb95df)
darwin / amd64でgo1.8.3を使用してコンパイル
restic backup --exclude-file ~/exclude.txt ~
LANへのsftp
exclude.txtのパターンに一致するファイルをスキップします
パターンがあいまいになりすぎるまでパターンを大幅に緩めない限り、ファイルは含まれていました。
次のような除外ファイルを使用します。
.[^.]*
/matt/Applications
/matt/Dropbox
/matt/Downloads
/matt/VirtualBox VMs
*.vmdk
私の目標は、ドットファイルと$ HOMEディレクトリ内のいくつかの特定のフォルダ( matt
という名前)をスキップすることです(ただし、たとえば「アプリケーション」という名前のすべてのフォルダではありません)。 ああ、そしてすべての.vmdkファイル(それらは巨大になる可能性があります!)
私がこれにパターンを緩和したとき:
.[^.]*
Applications
Dropbox
Downloads
VirtualBox VMs
*.vmdk
それは機能しました(つまり、フォルダーをスキップしました)が、たとえばDownloadsという名前のすべてのフォルダーをスキップしたくないので、これはあいまいすぎます。
おそらく私はまだ除外パターンを正しく理解していません。 :smile:#1005を読みましたが、-excludeに絶対パスが必要なのか、-includeのようにrepo-absoluteパスが必要なのか混乱していると思います。
更新:さて、 /matt/
を$HOME/
置き換えることはうまくいったようですが、-excludeと--includeの絶対パスの不一致は少し奇妙で驚くべきものです。
通常、 $HOME/blabla
は/home/matt/blabla
ですか、それともシステムで何かを変更しましたか?
ため息、はい、あなたは絶対に正しいです。 除外パターンは、バックアップするものに関して絶対的なものです。
restic backup /home/matt
を実行すると、パターン/home/matt/*.go
自宅のすべてのGoファイルに一致します。 アーカイバの動作方法により(#549、修正が必要な設計上の誤った決定を参照)、 /home/
プレフィックスが削除され、スナップショットの最上位パスコンポーネントは/matt
ます。 したがって、復元するには、同じファイルに一致するように/matt/*.go
インクルードパターンを使用する必要があります。 私はそれが悪いことを知っています、私はそれを最終的に修正します:)
したがって、これはユースケースの修正された除外ファイルリストです。
.[^.]*
/home/matt/Applications
/home/matt/Dropbox
/home/matt/Downloads
/home/matt/VirtualBox VMs
*.vmdk
@ibib私のMacでは、ホームディレクトリは/Users/matt
ですが、 --include
はリポジトリの絶対パスを使用しているため( restic ls
ように)、適切な絶対パスは次のようになります。 /matt/...
。
@ fd0ああ! 説明してくれてありがとう、それはもっと理にかなっています。 したがって、 restic backup
と一緒に使用した場合の--exclude
はファイルシステムに対して絶対的であり、 --include
( restic restore
とともに使用した場合)はリポジトリに対して絶対的です。 言い換えれば、パターンはファイルの出所に絶対的です。
説明ありがとうございます。 これで、549が修正したい問題である理由がよくわかりました。 :スマイル:
最も参考になるコメント
ため息、はい、あなたは絶対に正しいです。 除外パターンは、バックアップするものに関して絶対的なものです。
restic backup /home/matt
を実行すると、パターン/home/matt/*.go
自宅のすべてのGoファイルに一致します。 アーカイバの動作方法により(#549、修正が必要な設計上の誤った決定を参照)、/home/
プレフィックスが削除され、スナップショットの最上位パスコンポーネントは/matt
ます。 したがって、復元するには、同じファイルに一致するように/matt/*.go
インクルードパターンを使用する必要があります。 私はそれが悪いことを知っています、私はそれを最終的に修正します:)したがって、これはユースケースの修正された除外ファイルリストです。