Восстановить удаленный файл из моментального снимка ZFS (все еще доступен для просмотра с помощью lsof)

perl -F '' -lane 'print @F[0..15, -5..-1]' yourfile

Explanation

-F '' => разбиваем строку на отдельные символы, то есть все поля толщиной в 1 символ.

-l => ORS=\n

-a => @F массив содержит поля, например, $F[15] => содержит 16-й символ

-n => не печатать, если не попросить

@F[0..15, -5... -1] => это фрагмент массива @F с первыми 16 символами и последними 5 символами, что-то вроде cut

5
12.06.2017, 23:19
4 ответа

загляните в /zpool/.zfs/snapshot/$NAMEOFSSNAPSHOT/path/to/file

5
27.01.2020, 20:41

Не могу вспомнить, можно ли смонтировать моментальный снимок.

И вы можете попробовать использовать zfs diff, чтобы узнать, находится ли искомый файл в другом снимке.

0
27.01.2020, 20:41

A snapshot is took each night on this volume. [...] I need the 2 days old version of this file. As this file was deleted several days ago, it is not in the backups.

Каждый снимок показывает файловую систему в указанный момент времени. Моментальные снимки доступны только для чтения -, что означает, что никакие отдельные файлы внутри моментального снимка не могут быть удалены, только полный снимок может быть уничтожен.

Если делать ночные снимки в точках T -1, T -2, T -3,... и удалять сам файл после точки T -3, ваши снимки T -1 и T -2 больше не будут иметь этот файл (, но у остальных он останется ).

Таким образом, ваше решение состоит в том, чтобы восстановить ваш файл из более старого снимка (в вашем случае, самого последнего, на котором настоящий файл еще не был удален ), а затем, при желании, сравнить его с текущей версией. для различий. Конечно, это работает только в том случае, если старые снимки все еще существуют.

0
27.01.2020, 20:41

Вы также можете клонировать моментальный снимок, если не хотите возиться с.zfs. Скопируйте файлы/папки, которые необходимо восстановить, затем уничтожьте клон.

0
27.01.2020, 20:41

Теги

Похожие вопросы