kag*_*san 10 linux backup cpio
我需要制作一个正在运行的 linux 系统的副本,它(包含在 / 中,而新位置在 /mnt/sdb5 中)似乎在 /dev 中包含了大量的硬链接、软链接和特殊文件;会在cpio不应用额外魔法的情况下处理这项工作吗?
目前已知的保护措施:
root=/dev/sdb5;在删除之前,请进行完整的分区备份。但是,仍然不会因为 cpio 错过了一些标志并削弱了权限/节点类型/软链接或硬链接而浪费时间。
使用哪种工具/要避开哪些水下岩石?
Ted*_*ddy 12
回答有关cpio以下的实际问题:这些是我将用于的标志cpio:
find / -xdev -depth \! -path ./lost+found -print0 | cpio --pass-through --null --dot --make-directories --unconditional --preserve-modification-time --sparse /mnt/sdb5
Run Code Online (Sandbox Code Playgroud)
当然,由于您不是通过网络复制,我将只使用cp:
cp --archive --sparse=always --verbose --one-file-system --target-directory=/mnt/sdb5 /
Run Code Online (Sandbox Code Playgroud)
而如果你希望能够多次复制rsync,它的恢复能力是一个更好的选择。(它也像 一样cp处理 ACL 和扩展属性,并且可以像 一样选择性地在网络上工作cpio。所以它是最有用的选项,除了在本地进行第一个副本,我更喜欢使用cp。)
rsync --archive --inplace --hard-links --acls --xattrs --devices --specials --one-file-system --8-bit-output --human-readable --progress / /mnt/sdb5
Run Code Online (Sandbox Code Playgroud)
不要忘记复制/boot和/dev!
/boot很简单,复制即可。但是/dev现在要棘手得多,因为它被udev. 我推荐以下程序:
mkdir /tmp/devmount --move /dev /tmp/dev/dev到/mnt/sdb5使用上述命令之一mount --move /tmp/dev /devrmdir /tmp/dev正如@Klox 提到的,在复制相同大小的分区时,我同意使用dd.
但是,当您想将磁盘复制到不同大小的不同分区时,我宁愿使用rsync. 挂载新分区(比方说,/mnt/new)并:
# rsync -a --exclude=/proc --exclude=/dev --exclude=/sys / /mnt/new
Run Code Online (Sandbox Code Playgroud)
符号链接没有额外的魔法,也不需要实时 cd(单用户 / init 1 就可以了)。
| 归档时间: |
|
| 查看次数: |
11147 次 |
| 最近记录: |