Chinaunix首页 | 论坛 | 博客
  • 博客访问: 289923
  • 博文数量: 41
  • 博客积分: 2015
  • 博客等级: 大尉
  • 技术积分: 493
  • 用 户 组: 普通用户
  • 注册时间: 2009-02-19 11:06
文章分类

全部博文(41)

文章存档

2011年(1)

2009年(40)

我的朋友

分类: LINUX

2009-03-12 16:53:40

tar (打包):
tar [-cxtzjvfpPN] 档案与目录 ....
参数:
-c :建立一个压缩档案的参数指令(create 的意思);
-x :解开一个压缩档案的参数指令!
-t :查看 tarfile 里面的档案!
特别注意,在参数的下达中, c/x/t 仅能存在一个!不可同时存在!
因为不可能同时压缩与解压缩。
-z :是否同时具有 gzip 的属性?亦即是否需要用 gzip 压缩?
-j :是否同时具有 bzip2 的属性?亦即是否需要用 bzip2 压缩?
-v :压缩的过程中显示档案!这个常用,但不建议用在背景执行过程!
-f :使用档名,请留意,在 f 之后要立即接档名喔!不要再加参数!
例如使用『 tar -zcvfP tfile sfile』就是错误的写法,要写成
『 tar -zcvPf tfile sfile』才对喔!
-p :使用原档案的原来属性(属性不会依据使用者而变)
-P :可以使用绝对路径来压缩!
-N :比后面接的日期(yyyy/mm/dd)还要新的才会被打包进新建的档案中!
--exclude FILE:在压缩的过程中,不要将 FILE 打包!
比较常用的是:tar -cvf name.tar filename (打包,不压缩);
          tar -xvf name.tar    (解包);      
          tar -zcvf name.tar.gz filename (压缩);
          tar -zxvf name.tar.gz (解压缩,解压到当前目录)。

dd (备份,制作档案):
dd 可以读取装置的内容,然后将整个装置备份成一个档案呢!可以说, tar 可以用来备份关键数据,而 dd 则可以用来备份整颗 partition 或 整颗 disk ,很不错哦。不过,如果要将数据填回到 filesystem 当中, 可能需要考虑到原本的 filesystem 才能成功啊!dd比较重要的参数:
dd if="input_file" of="outptu_file" bs="block_size" count="number"
参数:
if :就是 input file ,也可以是装置;
of :就是 output file ,也可以是装置;
bs :规划的一个 block 的大小,如果没有设定时,预设是 512 bytes;
count:多少个 bs 的意思。
示例:
1. 将 /etc/passwd 备份到 /tmp/passwd.back 当中
[root@linux ~]# dd if=/etc/passwd of=/tmp/passwd.back
2. 备份 /dev/hda 的 MBR
[root@linux ~]# dd if=/dev/hda of=/tmp/mbr.back bs=512 count=1
3. 将整个 /dev/hda1 partition 备份下来,注意目标路径不能在hda1中。
[root@linux ~]# dd if=/dev/hda1 of=/some/path/filenaem

cpio (备份利器):
他是透过数据流重导向的方法来将档案进行输出/输入的一种方式,可以备份任何的档案, 包括 /dev 底下的任何装置档案。

cpio -covB > [file|device] <==备份
cpio -icduv < [file|device] <==还原
参数:
-o :将数据 copy 输出到档案或装置上
-i :将数据自档案或装置 copy 出来系统当中
-t :查看 cpio 建立的档案或装置的内容
-c :一种较新的 portable format 方式储存
-v :让储存的过程中文件名称可以在屏幕上显示
-B :让预设的 Blocks 可以增加至 5120 bytes ,预设是 512 bytes !
这样的好处是可以让大档案的储存速度加快(请参考 i-nodes 的观念)
-d :自动建立目录!由于 cpio 的内容可能不是在同一个目录内,
如此的话在反备份的过程会有问题! 这个时候加上 -d 的话,
就可以自动的将需要的目录建立起来了!
-u :自动的将较新的档案覆盖较旧的档案!

范例一:将所有系统上的数据通通写入磁带机内!
[root@linux ~]# find / -print | cpio -covB > /dev/st0
范例二:将 /etc 底下的所有『档案』都备份到 /root/etc.cpio 中!
[root@linux ~]# find /etc -type f | cpio -o > /root/etc.cpio
由于 cpio 无法直接读取档案, 而是需要『每一个档案或目录的路径连同文件名一起』才可以被记录下来!因此, cpio 最常跟 find 这个指令一起使用。
阅读(2535) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~