linux备份命令-cpio
首页 计算机相关 linux命令 linux备份命令-cpio
cpio可以备份任何东西,包括设备设备文件。不过cpio 不会主动的去找文件来备份!一般来说, cpio 得要
配合类似 find 等可以找到文件名的指令来告知 cpio 该被备份的数据在哪里。[root@study ~]# cpio -ovcB > [file|device] <==备份
[root@study ~]# cpio -ivcdu < [file|device] <==还原
[root@study ~]# cpio -ivct < [file|device] <==察看
备份会使用到的选项与参数:
-o :将数据 copy 输出到文件或设备上
-B :让默认的 Blocks 可以增加至 5120 Bytes ,默认是 512 Bytes !
这样的好处是可以让大文件的储存速度加快(请参考 i-nodes 的观念)
还原会使用到的选项与参数:
-i :将数据自文件或设备 copy 出来系统当中
-d :自动创建目录!使用 cpio 所备份的数据内容不见得会在同一层目录中,因此我们
必须要让 cpio 在还原时可以创建新目录,此时就得要 -d 选项的帮助!
-u :自动的将较新的文件覆盖较旧的文件!
-t :需配合 -i 选项,可用在"察看"以 cpio 创建的文件或设备的内容
一些可共享的选项与参数:
-v :让储存的过程中文件名称可以在屏幕上显示
-c :一种较新的 portable format 方式储存
cpio 会将数据整个显示到屏幕上,因此我们可以通过将这些屏幕的数据重新导向 (>) 一个新的文件! 至于还原呢?就是将备份
文件读进来 cpio (
[root@192 ~]# find boot | cpio -ocvB > /tmp/boot.cpio
[root@192 ~]# ll -h /tmp/boot.cpio
-rw-r--r--. 1 root root 99M May 29 20:43 /tmp/boot.cpio
[root@192 ~]# file /tmp/boot.cpio
/tmp/boot.cpio: ASCII cpio archive (SVR4 with no CRC)
这里需要注意的是,如果我们用绝对路径如[root@192 /]# find /boot
/boot
/boot/grub
/boot/grub/splash.xpm.gz
/boot/grub2
/boot/grub2/theme
...
那么未来解开的时候,它就一定会覆盖掉原本的 /boot,所以得用相对路径,那么当复原的时候,它就会在当前路径里操作。[root@192 /]# cd ~
[root@192 ~]# cpio -idvc < /tmp/boot.cpio
boot
boot/grub
boot/grub/splash.xpm.gz
boot/grub2
boot/grub2/themes
...
[root@192 ~]# ll /root/boot
total 92756
config-3.10.0-514.el7.x86_64
grub
grub2
initramfs-0-rescue-025e785e72cb478bb42918d5b8ecdd9d.img
initramfs-3.10.0-514.el7.x86_64.img
initramfs-3.10.0-514.el7.x86_64kdump.img
...
系统数据完整备份于还原到磁带机上。find / | cpio -ocvB > /dev/st0
cpio -idvc < /dev/st0
其实我们/boot里面有用cpio打包的文件,我们解开来看看。[root@192 ~]# mkdir /tmp/initramfs
[root@192 ~]# cd /tmp/initramfs/
[root@192 initramfs]# cpio -idvc < /boot/initramfs-3.10.0-514.el7.x86_64.img
.
kernel
kernel/x86
kernel/x86/microcode
kernel/x86/microcode/GenuineIntel.bin
early_cpio
192 blocks
本文介绍了Linux中的cpio命令用于备份和还原文件系统的方法。通过结合find命令,cpio可以备份指定路径下的所有文件,并使用不同的选项进行输出、输入和查看备份内容。在备份过程中,可以调整块大小以提高大文件备份效率,同时在还原时创建所需目录。此外,文章还展示了如何从磁带设备进行备份和还原,并通过实例演示了如何解压和查看cpio备份文件的内容。
617

被折叠的 条评论
为什么被折叠?



