档案与文件系统的压缩与打包
compress
压缩后缀为.Z
Compress 文件名 对文件进行压缩
Compress -v 文件名 压缩文件并且显示过程
Uncompress 文件名.Z 对文件进行解压
Compress -c -v 文件名 > 文件名.Z 压缩该文件并且保留源文件
gzip
压缩后缀为.gz
Gzip 文件名 对文件进行压缩
Zcat 文件名.gz 对压缩文件的内容进行查看
只有后缀为.gz 的压缩文件,可以使用zcat 命令对压缩文件进行查看
Gzip -d 文件名.gz 对文件进行解压
Gzip -c 文件名 > 文件名.gz 保留原文件,产生压缩文件
bzip
压缩后缀为.bz2
Bzip2 文件名 对文件进行压缩
Bzip2 -d 文件名.bz2 对文件进行解压
Bzcat 文件名.bz2 对压缩文件的内容进行查看
Bzip -c 文件名 > 文件名.gz 保留源文件,产生压缩文件
打包文件:归档
搬家时,归档就是一个大口袋,会将你所有的东西装起来,方便转移
参数 | 命令 |
---|---|
1、tar cvf 归档.tar 被归档文件1 被归档文件2 | 将1.2进行归档 |
2、Tar xvf 归档.tar 被归档文件 --remove-files | 删除掉被归档文件进行归档 |
3、Tar tvf归档.tar | 不解档的情况下查看归档文件 |
4、Tar xvf 归档.tar | 进行解档 |
5、Tar xvf 归档.tar -C 目录 | 将解档的文件放在目录下 |
6、Tar xvf 归档.tar 被归档文件1 | 只对被归档文件1进行解档,而不解档其他文件 |
7、Tar zcvf 归档.tar 被归档文件 | 将文件进行归档,并且进行压缩所以产生的文件后缀为.tar.gz |
8、tar zxvf 归档.tar.gz | 对文件进行解档并解压 |
调用gzip进行压缩在cvf xvf前加上z
调用bzip2进行压缩在cvf xvf前加上j
完全备份,增量备份,差异备份
备份每次备份的数量可以分为:完全备份,增量备份,差异备份
1、完全备份是指把所有需要备份的数据进行备份。当然,完全备份可以备份整块硬盘,整个分区或某个具体的目录
完全备份的好处是数据恢复方便,因为所有的数据都在同一个备份中,所以只要恢复完全备份,所有的数据都会被恢复,如果完全备份的是整块硬盘,那么甚至不需要数据恢复,只要把备份硬盘安装上,服务器就会恢复正常
但是完全备份的缺点也很明显,那就是需要备份的数据量较大,备份时间较长,占用空间较大,所以完全备份不可能每天执行,
我们一般会对关键服务器进行整盘完全备份,如果出现问题,则很快的使用备份硬盘进行替换,从而减少损失,我们甚至对关键服务器搭设一台一模一样的服务器,这样只要远程执行几个命令,备份服务器就会完全接替原本的服务器,使故障响应时间大大缩短
2、增量备份
完全备份随着数据量的加大,备份小号的时间和占用的空间会越来越多,所以完全备份不会也不能每天进行,这时增量备份的作用就体现了出来
增量备份是指先进性一次完全备份,服务器运行一段时间之后,比较当前系统和完全备份的备份数据之间的差异,只备份有差异的数据。服务器继续运行,在经过一段时间,惊醒第二次增量备份。在进行第二次增量备份时,当前系统和第一次增量备份的数据进行比较,也是只备份有差异的数据,第三次增量备份是和第二次增量备份的数据进行比较,
假设我们在第一天进行一次完全备份,第二天增量备份时,只会备份第二天和第一天之间的差异数据,但是第二天的总备份数据是完全备份加第一次增量备份的数据。第三天增量备份时,只会备份第三天和第二天之间的差异数据,但是第三天的备份数据是完全备份加第一次增量备份的数据,再加上第二次增量备份的数据,当然不,第四天增量备份时,只会备份第四天和第三天的差异数据,但是第四天的总备份数据是完全备份加第一次增量备份的数据加第二次增量备份的数据,再加上第三次的增量备份的数据
这种备份的好处是每次备份需要备份的数据较少,耗时较短,占用空间较小,坏处是数据恢复比较麻烦,进行数据恢复时,就要先恢复完全备份的数据,再一次恢复第一次增量备份的数据,第二次增量备份的数据和第三天增量备份的数据,最终才能恢复所有的数据
3、差异备份
差异备份也要先进行一次完全备份,但是和增量备份不同的是,每次差异备份和原始的完全备份不同的数据,差异备份每次按照参照物都是原始的完全备份,而不是上一次的差异备份
假设我们第一天进行一次完全备份,第二天进行差异备份时,会备份第二天和第一天之间的差异数据,而第二天的备份数据是完全备份加第一次差异备份的数据,第三天进行差异备份时,仍和第一天的原始数据进行对比,把第二天和第三天所有的数据都备份在第二次差异备份中,第三天的备份数据是完全备份加第二次差异备份的数据,第四天进行差异备份时,仍和第一天的原始数据进行对比,把第二天。第三天和第四天所有的不同数据都备份到第三次差异备份中,第四天的备份数据是完全备份加第三次差异备份的数据
差异备份既不像完全备份一样把所有的数据都进行备份,也不像增量备份在进行数据恢复时那么麻烦,只要先恢复完全备份的数据,再回复差异备份数据即可,不过随着时间的增加,和完全备份相比,变动的数据越来愈多,差异备份的数据可能会很庞大,备份速度缓慢,占用空间大
备份相关命令:
1、Dump -0u -f 备份路径 要备份文件的路径
-0 代表备份级别 -f 后面加路径 -u代表将备份时间写入dumpdatas
2、Restore -t -f 备份路径 | 不恢复文件的情况下查看文件信息
在不恢复文件的情况下,查看备份文件都有谁
3、在备份时,增量备份的备份级别从低到高 备份级别增长
差异备份的备份级别从高到低 备份级别降低
4、Restore -r -f 备份路径 对备份的文件进行恢复
-r是对所有的备份文件进行恢复
要注意备份恢复时的顺序
5、Restore -i -f 备份路径 对指定文件进行恢复
执行该命令进入交互模式 输入? 查看可以使用的命令
镜像
镜像(Mirroring)是一种文件存储形式,是冗余的一种类型,一个磁盘上的数据在另一个磁盘上存在一个完全相同的副本即为镜像。可以把许多文件做成一个镜像文件,常见的镜像文件格式有ISO(官方系统一般用此安装)、BIN、IMG、TAO、DAO、CIF、FCD,GHO镜像(民间快速安装用此格式)。
命令:
Mkisofs -o 镜像文件名 文件1 文件2 文件3 将文件1 2 3 写入镜像文件
把光盘复制成镜像文件进行挂载,方便对数据直接读取
Cp /dev/cdrom xxx.iso 复制cdrom内容到镜像文件
Mount -o loop xxx.iso /mnt 挂载文件 打开mnt 就是打开光盘
dd命令
dd:用指定大小的块拷贝一个文件,并在拷贝的同时进行指定的转换。
注意:指定数字的地方若以下列字符结尾,则乘以相应的数字:b=512;c=1;k=1024;w=2
参数注释:
if=文件名:输入文件名,缺省为标准输入。即指定源文件。< if=input file >
of=文件名:输出文件名,缺省为标准输出。即指定目的文件。< of=output file >
ibs=bytes:一次读入bytes个字节,即指定一个块大小为bytes个字节。
obs=bytes:一次输出bytes个字节,即指定一个块大小为bytes个字节。
bs=bytes:同时设置读入/输出的块大小为bytes个字节。
cbs=bytes:一次转换bytes个字节,即指定转换缓冲区大小。
skip=blocks:从输入文件开头跳过blocks个块后再开始复制。
seek=blocks:从输出文件开头跳过blocks个块后再开始复制。
注意:通常只用当输出文件是磁盘或磁带时才有效,即备份到磁盘或磁带时才有效。
count=blocks:仅拷贝blocks个块,块大小等于ibs指定的字节数。
conv=conversion:用指定的参数转换文件。
ascii:转换ebcdic为ascii
ebcdic:转换ascii为ebcdic
ibm:转换ascii为alternate ebcdic
block:把每一行转换为长度为cbs,不足部分用空格填充
unblock:使每一行的长度都为cbs,不足部分用空格填充
lcase:把大写字符转换为小写字符
ucase:把小写字符转换为大写字符
swab:交换输入的每对字节
noerror:出错时不停止
notrunc:不截短输出文件
sync:将每个输入块填充到ibs个字节,不足部分用空(NUL)字符补齐。
将整盘文件进行备份
Dd if = /dev/sda1 of=/dev/sdb2
将sda1中的数据全部备份到sdb2
Dd if = /dev/sdb2 of = /dev/sda1
恢复备份文件
Dd if = /dev/sda1 | gzip > /xx/yy.gz
将整盘文件sda1进行压缩 ,保存到yy.gz
gzip -d /xx/yy.gz | dd of=/dev/sda1
将压缩文件恢复到sda1
Cpio
Find -name “ file* ” | cpio -o >xx.cpio
找到所有名字为file的文件 通过管道将结果传到cpio -o的意思是进行打包
大于号 的意思是传导到xx.cpio文件
Cpio -iu < xx.cpio 对xx.cpio进行解档 -i进行解档
小于号的意思是将xx.cpio 进行传到cpio命令