备份
dd命令
命令:# dd if="input_file" of="output_file" bs="block_size" count="number"
选项与参数:
if :就是 input file 啰~也可以是装置喔!
of :就是 output file 喔~也可以是装置;
bs :规划的一个 block 的大小,若未指定则预设是 512 bytes(一个 sector 的大小)
count:多少个 bs 的意思。
范例一:将 /etc/passwd 备份到 /tmp/passwd.back 当中
命令:# dd if=/etc/passwd of=/tmp/passwd.back
4+1 records in
4+1 records out
2092 bytes (2.1 kB) copied, 0.000111657 s, 18.7 MB/s
命令: # ll /etc/passwd /tmp/passwd.back
-rw-r--r--. 1 root root 2092 Jun 17 00:20 /etc/passwd
-rw-r--r--. 1 root root 2092 Jul 2 23:27 /tmp/passwd.back
# 仔细的看一下,我的 /etc/passwd 文件大小为 2092 bytes,因为我没有设定 bs ,
# 所以默认是 512 bytes 为一个单位,因此,上面那个 4+1 表示有 4 个完整的 512 bytes,
# 以及未满 512 bytes 的另一个 block 的意思啦!事实上,感觉好像是 cp 这个指令
cpio命令
命令:# cpio -ovcB > [file|device] <==备份
命令:# cpio -ivcdu < [file|device] <==还原
命令:# 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 (<) 进行处理
范例:找出 /boot 底下的所有文件,然后将他备份到 /tmp/boot.cpio 去!
命令:# cd /
命令:# find boot -print
boot
boot/grub
boot/grub/splash.xpm.gz
....(以下省略)....
# 透过 find 我们可以找到 boot 底下应该要存在的档名!包括文件与目录!但请千万不要是绝对路径!
命令:# find boot | cpio -ocvB > /tmp/boot.cpio