как включать или добавить/dev с tar - одна файловая система

Можно изменить строку хижины на

#!/bin/bash -e

После любой ошибки остановится сценарий.

6
15.03.2018, 02:13
2 ответа

Просто добавьте /dev на список файлов для архивации:

ssh -n <hostname> sudo tar -cpvzf - --one-file-system / /dev > Bak.tar.gz

--one-file-system только предотвращает рекурсивный вызов в каталоги в различных файловых системах. Можно все еще перечислить файлы/каталоги в различных файловых системах непосредственно как аргументы tar.

4
27.01.2020, 20:24

Вы могли, вероятно, просто добавить его к путям, которые будут включены.

tar -cf - --one-file-system / /dev/

Однако это обычно не, что Вы действительно хотите вообще как динамическое /dev включал бы слишком много абсолютно неправильных или несоответствующих узлов устройства.

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

Тем путем Вы добираетесь /dev/ (и все остальное), который на самом деле хранится в корневой файловой системе. Это должно обычно включать только стандартный набор /dev узлы, который был первоначально создан во время установки и только нуждался во время начальной загрузки до системы, настраивают динамическое /dev/ сверху его.

mkdir /mnt/root
mount --bind / /mnt/root
cd /mnt/root
tar -cpvzf - .
cd /
umount /mnt/root

Как mount состояния страницы справочника, связывание монтирует, что вызов присоединяет только (часть) единственную файловую систему, не возможное подмонтирование. Вот почему --one-file-system больше не необходим: под этой структурой нет никаких других файловых систем.

6
27.01.2020, 20:24
  • 1
    , Как я делаю все, что по ssh и портируют канал tar по Использованию ssh –  kevzettler 04.12.2013, 22:43
  • 2
    ssh host 'mkdir /mnt/root;mount --bind / /mnt/root;cd /mnt/root;tar ......' > piped.tar но обычно Вы только что поместили это в сценарий, который Вы храните и выполняете на сервере. Особенно как необходимо делать, некоторые дополнительные проверки (делает точку монтирования, уже существуют, уже это смонтированный, любые ошибки при выполнении tar и т.д. и т.д.). Трубопроводы несмотря на другие команды пока tar единственная команда, на самом деле производящая что-либо к stdout. –  frostschutz 04.12.2013, 23:22

Теги

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