スナップショット内の特定のディレクトリにロールバックすることは可能ですか?たとえば、スナップショットtank/home@snapshot_week_01
が与えられた場合、tank/home/louis@snapshot_week_01
内の他のすべてのファイルディレクトリをロールバックせずに、tank/home
のようなものにロールバックできますか?
「可能ですか」という質問に答えるには、答えはnoです。 ZFSスナップショットには、ファイルやフォルダーなどの概念はなく、ファイルシステム全体のブロックレベルのスナップショットです。
ただし、duenniの回答に示されているように、スナップショットを参照して個々のファイルにアクセスすることも、スナップショットのクローンを作成して、最初のファイルをロールバックせずにファイルシステムの2番目のコピーを作成することもできます。
この場合、/tank/home/.zfs/snapshot/snapshot_week_01
に移動して、必要なデータを引き出します。
詳細については、OracleのWebサイトの ZFSスナップショットの表示とアクセス を参照してください。
尋ねられた質問への答えはno;スナップショットはファイルシステムごとであり、スナップショットを操作するときはファイルシステム全体でのみ操作できます。したがって、前のスナップショットにロールバックすると、ファイルシステム全体に影響します。
ZFSスナップショットから特定のファイルまたはディレクトリを復元する方法は、スナップショットディレクトリに移動し、cp -av snapshotfile /home/louis/myfile
などを使用してスナップショットからファイルをコピーすることです。