Значение пересечения границ файловой системы, – однофайловая система и т. Д.

Я планирую использовать rsnapshot для резервного копирования всей моей системы Linux, хотя меня смущает опция -x (то же самое из one_fs в rsnapshot.conf ). На странице руководства написано:

-x одна файловая система, не пересекайте разделы в каждой точке резервного копирования

Я понимаю, что это не конкретная опция rsnapshot, так как эта функция также поддерживает команды rsync, cp, tar и другие команды.

Имеются ли границы файловой системы для разных разделов? Различные точки крепления? И что значит «не перекрещивать» их?

Вернемся к моему делу, я прочитал много людей, предлагающих использовать -x с rsnapshot, но мне интересно, не сделает ли это компрометирование полноты моей резервной копии. Я хочу сделать резервную копию всех под / , включая /boot и /home , которые находятся на выделенных разделах одного и того же диска, и в то же время я не хочу создавать резервные копии файлов и каталогов, не принадлежащих строго моей системе, например /mnt , /media и т. д.

Выполнение команды mount в моей системе дает следующий результат. Pratically, используя rsnapshot -x , что будет включено и что будет не rsnapshot -x ?

 /dev/sda7 on / type ext4 (rw,errors=remount-ro) proc on /proc type proc (rw,noexec,nosuid,nodev) sysfs on /sys type sysfs (rw,noexec,nosuid,nodev) none on /sys/fs/fuse/connections type fusectl (rw) none on /sys/kernel/debug type debugfs (rw) none on /sys/kernel/security type securityfs (rw) udev on /dev type devtmpfs (rw,mode=0755) devpts on /dev/pts type devpts (rw,noexec,nosuid,gid=5,mode=0620) tmpfs on /tmp type tmpfs (rw,noexec,nosuid) tmpfs on /run type tmpfs (rw,noexec,nosuid,size=10%,mode=0755) none on /run/lock type tmpfs (rw,noexec,nosuid,nodev,size=5242880) none on /run/shm type tmpfs (rw,nosuid,nodev) /dev/sda6 on /boot type ext3 (rw) /dev/sda8 on /home type ext4 (rw) binfmt_misc on /proc/sys/fs/binfmt_misc type binfmt_misc (rw,noexec,nosuid,nodev) gvfs-fuse-daemon on /home/myuser/.gvfs type fuse.gvfs-fuse-daemon (rw,nosuid,nodev,user=myuser) 

2 Solutions collect form web for “Значение пересечения границ файловой системы, – однофайловая система и т. Д.”

«Не перекрещивать границы файловой системы» означает «не смотрите внутрь точек монтирования». Границей между файловыми системами является точка монтирования. Эффективно это означает «действовать только на указанный раздел», за исключением того, что не все файловые системы находятся на разделе. См. Какие точки монтирования существуют в типичной системе Linux?

Когда вы делаете резервную копию, вам следует избегать нескольких файловых систем, в частности:

  • удаленные файловые системы (NFS, Samba, SSHFS, …);
  • файловые системы, содержимое которых генерируется «на лету» из данных времени выполнения ( /proc , /sys , …);
  • файловые системы, которые представляют собой представление другой части дерева каталогов (bindfs, avfs, …);
  • в-памяти, содержащие данные, которые действительны только до следующей перезагрузки ( /tmp , /dev/shm , …);
  • которые могут или не могут присутствовать в любой момент времени и не являются частью самой системы.

Файловые системы для резервного копирования – это только те, которые соответствуют хранению на диске. Во многих системах имеется только одна такая файловая система, установленная в корневом каталоге / . Вы можете определить, какие файловые системы соответствуют хранению на диске, потому что их источник (первый столбец под названием «Файловая система» выхода df , первый столбец перед выходом на выходе) – это тома диска (раздел в стиле ПК, такой как /dev/sda1 , логический том LVM, такой как /dev/mapper/mygroup-mylogicalvolume , …).

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

  • Съемные тома не должны копироваться, даже если они находятся на диске.
  • Linux позволяет устанавливать одну и ту же файловую систему (или ее части) в нескольких местах, с mount --bind ; только один из них должен быть скопирован.
  • Трудно перечислить все тома на диске: есть зашифрованные тома, распределенные объемы хранения и т. Д.

В вашей системе файловые системы для резервного копирования /dev/sda7 монтируются на / , /dev/sda6 смонтированные на /boot и /dev/sda8 смонтированные в /home . Поэтому вы должны указать rsnapshot для резервного копирования этих трех каталогов. Вы должны почти всегда использовать параметр -x с rsnapshot.

Чтобы упростить ситуацию, давайте просто рассмотрим два раздела. Предположим, что текущее mount фактически произвело следующий вывод:

 /dev/sda1 on / type ext4 (rw,errors=remount-ro) /dev/sda2 on /home type ext4 (rw) 

Это, конечно, совершенно нереалистично ( /dev не будет заселен, много вещей зависит от sysfs и procfs и т. Д.). Давайте просто проигнорируем это.

Пересечение границы файловой системы означает переход в каталог, в котором базовая файловая система (которая обычно соответствует базовому разделу) отличается. Обычно, когда кто-то говорит о пересечении границы файловой системы, они говорят об этом в контексте пересечения дерева каталогов либо вниз, либо вверх.

В качестве примера того, что я имею в виду, возьмите git . Чтобы выяснить, является ли каталог репозиторием Git, git сначала проверит, есть ли в текущем рабочем каталоге папка с именем «.git». Если есть, это репозиторий Git. Если этого не произойдет, git выполнит такую ​​же проверку у родителя текущего каталога и т. Д. И т. Д. По умолчанию Git будет проверять это так, вплоть до границы файловой системы (или как только он достигнет / ), после чего он откажется и предположит, что текущий рабочий каталог не является, по сути, репозиторием Git.

Скажем, вы запустили git status в ~/Desktop . Git проверяет, есть ли каталог ~/Desktop/.git … nope. Теперь Git проверит родительский каталог: есть ли ~/.git ? Неа. Вот где границы файловой системы вступают в игру: поскольку /home – это отдельный раздел, вместо проверки на /home/.git git /home/.git , выведет предупреждение на консоль и предположим, что текущий рабочий каталог не является репозиторий Git. Он отказался перекрещивать границы файловой системы.

  • rsync претендует на разные файлы, но diff нет?
  • создание образа устройства для сетевого расположения
  • Как избежать рекурсивного обхода каталога для синхронизации двух каталогов?
  • почему не rsync копирует файлы на сервер
  • Параметр -link-dest от rsync не связан из-за времени файла
  • sudo rsync -a не сохраняет mtime
  • cron rsnapshot - еженедельно до ежемесячного
  • Как проверить, что rsync правильно копировал устройство, когда включены устройства копирования?
  • пропуская копирование содержимого подкаталогов с помощью rsync
  • rsync генерирует каталог назначения большего размера, чем источник?
  • Различное поведение rsync для идентичного имени каталога
  • Linux и Unix - лучшая ОС в мире.