如何镜像文件系统结构但不包含任何内容

如何镜像文件系统结构但不包含任何内容

这是备份所需的。只是整个 fs 结构的索引。
我可以使用 FAR 插件制作这样的图像。如何在 GNUverse 中实现相同的功能?

镜像意味着完美复制,即 tstamps、attribs、octets 等。

答案1

为了西弗斯您可以使用的文件系统xfs_metadumpxfs_mdrestore它将把文件系统元数据(但不复制其内容)复制到另一个文件系统(最好是空的)。

解释

xfs_metadump 是一个调试工具,用于将元数据从 XFS 文件系统复制到文件。它只应用于复制未挂载的文件系统、只读挂载的文件系统或冻结的文件系统(请参阅xfs_冻结(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选项的详细信息,请参阅触碰chown修改模式来自 coreutils(大多数 Linux 发行版的默认设置)。

答案3

像那样?

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

当然,您可以在该 txt 文件的末尾添加日期等!

相关内容