1

Это необходимо для резервного копирования. Просто индекс всей структуры фс.
Я могу сделать такое изображение с плагином FAR. Как этого можно добиться в GNUverse?

Зеркальное отображение означает идеальную копию, то есть tstamps, attribs, октеты и т.д.

3 ответа3

2

Для файловых систем XFS вы можете использовать xfs_metadump и xfs_mdrestore, которые будут копировать метаданные файловой системы, но не ее содержимое, в другую файловую систему (предпочтительно пустую).

объяснение

xfs_metadump - это инструмент отладки, который копирует метаданные из файловой системы XFS в файл. Он должен использоваться только для копирования несмонтированных файловых систем, монтируемых файловых систем только для чтения или замороженных файловых систем (см. Xfs_freeze (8)). В противном случае сгенерированный дамп может быть непоследовательным или поврежденным.

xfs_metadump никоим образом не изменяет исходную файловую систему. Целевое изображение - это непрерывный (не разреженный) файл, содержащий все метаданные файловой системы и индексы, в которые были скопированы блоки. Содержимое файлов будет заполнено нулями.

xfs_metadump необходимо запустить с параметром -o чтобы отключить запутывание имен файлов и расширенных атрибутов.

xfs_mdrestore восстанавливает образ метадампы XFS в образ файловой системы. Его не следует использовать для восстановления метаданных в существующей файловой системе, если вы не уверены, что цель может быть уничтожена.

Пример использования

# Create the destination filesystem
# 64 MBs could be enough for a source of 72 GBs with a couple of files.
# Use more to be safe (and check the destination afterwards).
dd if=/dev/zero of=/tmp/dst.dsk bs=1M count=0 seek=64
mkfs -t xfs /tmp/dst.dsk

# Copy. Destination can be destroyed!
xfs_metadump -o /dev/disk/by-label/src - | xfs_mdrestore - /tmp/dst.dsk

# Mount
mkdir /tmp/dst
mount -t xfs -o loop /tmp/dst.dsk /tmp/dst
ls -l /tmp/dst

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

0000000 0000 0000 0000 0000 0000 0000 0000 0000
*
3221376000
2
find $PATH -type d -exec mkdir -p '/$BACKUP_PATH/{}' ';' \
                   -exec touch --reference='{}' '/$BACKUP_PATH/{}' ';' \
                   -exec chown --reference='{}' '/$BACKUP_PATH/{}' ';' \
                   -exec chmod --reference='{}' '/$BACKUP_PATH/{}' ';'

find $PATH -type f -exec touch --reference='{}' '/$BACKUP_PATH/{}' ';' \
                   -exec chown --reference='{}' '/$BACKUP_PATH/{}' ';' \
                   -exec chmod --reference='{}' '/$BACKUP_PATH/{}' ';'

Подробнее о параметре --reference смотрите в документации по touch, chown и chmod из coreutils (по умолчанию в большинстве дистрибутивов Linux).

0

Как это?

ls -Ral /$PATH > /backup_location/fs_index.txt

Конечно, вы можете добавить дату и т.д. в конце этого текстового файла!

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .