Несмотря на то, что различие смонтированных снимков будет работать, похоже, что во многих случаях оно может быть ужасно медленным.
Существуют ли специальные функции btrfs для создания снимков? (Я не смог найти ни одного в документах)
filesystems
diff
btrfs
Catskul
источник
источник
A
содержащий егоa
, запишитеb
его снимок и затем измените его обратно наa
, файл на самом деле не изменился вообще.Ответы:
Похоже, вы ищете btrfs send / receive , который появится в Linux 3.6. Команда
send
создает файл журнала различий между двумя снимками, иreceive
команда применяет изменения из файла. Обратите внимание, что send / receive использует собственный формат файла, поэтому файл не будет выглядеть точно так же, как, скажем, diff или tar.источник
Я использую стабильную версию Debian, которой нет
btrfs send
, поэтому я искал решение, используяbtrfs subvolume find-new
.Если у вас есть snapshot1 и snapshot2, и вы хотите знать, что изменилось в последнем, snapshot 2, так как snapshot1 был сделан, вы можете использовать приведенный ниже скрипт, который предоставляет
который перечислит все файлы, измененные в newsnapshot / начиная с oldsnapshot /.
Чтобы объяснить:
btrfs subvolume find-new
находит файлы, измененные после определенного «поколения» снимка. Также сообщается номер текущего поколения.Предостережения
например, сделайте ежедневный снимок подсобного случая:
Что изменилось между snap1 и snap2?
Таким образом, мы можем видеть новый файл, видеть измененный файл, но удаление не сообщается . Это потому, что команда сообщает о существующих файлах, а не о тех, которые сейчас не существуют.
Что изменилось между snap2 и живым подразделом?
переименованный файл не сообщается . Его данные не изменились.
А что если добавить данные в переименованный файл?
ОК, имеет смысл. Но давайте сделаем новый файл
эх! где лала? , Если вы добавите другой файл,
lala
появится. Так что это поведение немного странно. Наверное, поэтому вики говорит:Однако, странность возникает, когда вы сравниваете живой подобъем с предыдущим состоянием, а не когда вы сравниваете (только для чтения) снимки. Так что это может быть полезно, если вы не хотите также идентифицировать удаленные файлы.
источник
Это поддерживается вспомогательным инструментом для создания снимков
snapper
.sudo snapper -c config diff 445..446
Конечно, это требует от вас использовать
snapper
для ваших снимков.Этот идентификатор снимка можно найти с помощью
snapper list -a
. К сожалению, на момент написания snapper не поддерживал снимки списка для одной конфигурации, хотя эти числа можно найти по именам подразделов.источник