Я использую снимки для резервного копирования данных моего подобъема @home
. Но я хотел бы сделать резервную копию действительно важных данных (например, всех моих файлов, которые находятся в @home
, но не скрытых каталогов, потому что я не заинтересован в резервном копировании .cache
и других вещах, которые часто меняются, потому что это приведет к много пустого места в моем решении для инкрементного резервного копирования.
Могу ли я как-то добиться этого, чтобы мои реальные данные были подобъемом в home
без создания каталога в home
, который содержит все данные и является собственным подобъемом или это невозможно по замыслу?
Мой метод резервного копирования похож на: https://btrfs.wiki.kernel.org/index.php/Incremental_Backup
Dot-файлы не имеют особого значения для файловой системы, и btrfs send
в настоящее время (февраль 2014 г.) не может исключать файлы или каталоги из целевого подобъема.
Однако, btrfs subvolume snapshot
исключает подобъемы, которые содержатся в целевом подобъеме (он создает пустые каталоги в снимке), поэтому
rsync
или графический интерфейс, такой как grsync
, может исключать файлы и каталоги и допускает добавочное резервное копирование.
Если вы зададите параметр --inplace
- rsync
, он будет перезаписывать только разные части измененных файлов, а не перезаписывать все содержимое файлов. Это инкрементная резервная копия по определению, которая экономит место на btrfs.
Инструкции:
@home
в первый раз с btrfs send/receive
. @home
, затем запустите rsync
скопировать текущий дом поверх вновь созданного снимка и не забудьте дать rsync
параметр --inplace
. rsync
позволяет выполнить обширную настройку процесса резервного копирования. Вы можете прочитать список параметров, запустив man rsync
на терминале.
Для полноты изложения я добавлю другой подход, который бесполезен, если вы знаете, как использовать rsync
: дедупликация после «нормальной» копии (rsync
или cp
или чего-либо еще).
--inplace
в rsync
, как предложено выше. Говоря о резервных копиях: Помните, что btrfs является экспериментальным, как и bedup.
Нет, ты не можешь этого сделать. По крайней мере, не напрямую.
Снимки работают как необычные каталоги, что подразумевает, что все файлы под ним включены.
Вы по-прежнему можете делать любые интересные вещи с помощью символических ссылок или mount --bind
с.
Почему вы так сильно беспокоитесь о временных файлах? Для всех практических целей они действительно малы, и обычно все равно сохраняются в /tmp
(за исключением нескольких известных приложений, таких как Firefox или GoogleEarth). На вашем месте я бы перенастроил эти несколько приложений, чтобы хранить данные в других местах, или - если это не удастся - я бы поставил символическую ссылку на каталоги кеша где-нибудь еще, за пределами / home / user. Существуют инструменты, которые могут согласованно управлять такой сложной сетью символических ссылок на всех ваших компьютерах (например, Puppet).
Имейте в виду, что такого рода резервное копирование - это только половина того, что вам нужно для реальной защиты ваших данных. Обычно люди конфигурируют программу резервного копирования, чтобы выбрать нужные им файлы и папки и хранить резервные копии на внешнем сервере . И это центральный сервер, на котором происходит все волшебство, связанное со снимками, а не клиент.
Лично я использую unison
для синхронизации своих данных с подобъемом btrfs на центральном сервере. После каждого раунда синхронизации всех моих компьютеров я использую скрипт SnapBtr для создания снимка.