分享
 
 
 

FreeBSD连载(32):系统备份

王朝system·作者佚名  2006-11-23
窄屏简体版  字體: |||超大  

系统备份不管系统是多么可靠,总会发生一些意想不到的事情,致使系统数据丢失。例如硬件故障或人为操作失误等。因此使用备份来保护数据不丢失是一种非常重要的手段,尤其在系统数据非常重要的时候。经常进行数据备份能够减少偶然破坏造成的损失,保证系统能够从错误中恢复正常运行。

备份策略

在进行备份之前,首先要选择使用的备份策略,这将决定何时需要进行备份,以及出现故障时进行恢复的方式。通常使用的备份方式有三种:

完全备份:每隔一定时间就对系统进行一次全面的备份,这样在备份间隔期间出现数据丢失等问题,可以使用上一次的备份数据恢复到前次备份时情况。这是最基本的备份方式,但是每次都需要备份所有的数据,并且每次备份的工作量也很大大,需要太多的备份介质,因此这种备份不能进行的太频繁,只能每隔一段较长时间才进行一次完整的备份,例如以一个月为一个备份周期。但是这样一旦发生数据丢失,只能恢复到上次备份的数据,这个月内更新的数据就有可能丢失。

增量备份:首先进行一次完全备份,然后每隔一个较短时间进行一次备份,但仅仅备份在这个期间更改的内容。当经过一个较长的时间后再重新进行一次完全备份,开始前面的循环过程。由于只有每个备份周期的第一次进行完全备份,其他只进行改变的文件的备份,因此工作量小,就能够进行更频繁的备份。例如以一个月为一个周期,一个月进行一次完全备份,每天晚上0点进行这一天改变的数据备份。这样一旦发生数据丢失,首先恢复前一个完全备份,然后按日期一个一个恢复每天的备份,就能恢复到前一天的情况。这种备份方法比较经济。

更新备份:这种备份方法与增量备份相似,首先每月进行一次完全备份,然后每天进行一次更新数据的备份。但不同在于,增量备份是备份该天更改的数据,而更新备份是备份从上次进行完全备份后更改的全部数据文件。一旦发生数据丢失,可以使用前一个完全备份恢复到前一个月的状态,再使用前一个更新备份恢复到前一天的情况。这样做的缺点是每次作小备份工作的任务比增量备份的工作量要大,但好处在于,增量备份每天都有备份,因此要保存数据备份数量太多,而更新备份则不然,只需保存一个完全备份和一个更新备份就可以恢复故障以前的状态。另外在进行恢复工作时,增量备份要顺序进行多次备份的恢复,而更新备份只需两次恢复,因此它的恢复工作相对简单。

增量备份和更新备份都能以比较经济的方式对系统进行完全备份,在这些不同的策略之间进行选择不但与系统数据更新的方式相关,也依赖于管理员的习惯。通常在系统数据更新不是太频繁的话,可以选用更新备份的方式。但是如果系统数据更新太快,使每个备份周期后面几次更新备份的数据量已经相当大,这样使用更新备份已经不太经济了。这时候可以考虑增量备份或混用更新备份和增量备份的方式,或者缩短备份周期。

操作磁带设备

FreeBSD下SCSI接口的磁带设备文件名为/dev/rsa0或/dev/nrsa0,其中n代表非回卷类型,每次在nrsa0上存储数据之后磁带没有回卷,这样就能在磁带中保存多次备份。而rsa0设备在每次保存数据并关闭磁带时会回卷,这样只能存储一次备份。由于磁带容量大,一次不会用完一个磁带的容量,因此一般使用nrsa0设备,以进行多次备份。

3.1-release之前使用老SCSI驱动程序的磁带设备为st,对应的设备文件就为rst0和nrst0,而非SCSI的磁带设备有rwt0,rft0,分别为IDE和软盘控制器接口的磁带设备。

n表示非回卷模式,r代表raw方式,代表字符设备。而sa为磁带设备的驱动程序名。0表示设备序号,如果有多个磁带,下一个设备将为rsa1。

一般使用/dev/nrsa0作为备份设备,因为这个设备是非回卷的,那么每次备份之后磁带仍然停留在最后移动的位置上,这样就可以在下次备份时接续往磁带中写入,使用一个磁带进行多次备份。但是如果读取具体的备份,必须使磁带卷到具体备份的起始位置才行。需要回卷磁带要使用mt命令来完成。

# mt /dev/nrsa0 rewind

回卷磁带到最开始地方;

# mt /dev/nrsa0 reten

先向前卷到尾部再回卷磁带,保持磁带前后松紧一致;

# mt /dev/nrsa0 fsf 1

跳到下一个备份文件,使用2将跳到下面第二个文件;因此要定位一个磁带上第4次备份的文件,可以使用reten回卷磁带,再使用fsf 4跳到第4个备份。

每次使用mt均需使用mt来确定磁带的位置,一般的应用程序并不能自动确定文件的开头,而在磁带上每两个备份文件当中必然有一段无用的数据,如果再读完一个备份之后立即去读取下一个备份文件,就不能识别这些备份文件之间的无用信息,必然导致报告错误。

使用tar进行备份

选定了备份方式之后,可以使用tar、cpio、dump等备份工具软件将数据备份到磁带上。对于一般的备份,使用tar就足够了。tar的参数有:

参数c是创建备份(Create)

参数v表示回显模式(Verbose),将产生一系列所备份的文件列表

参数f指定使用的备份文件,它后面的参数为输出的备份文件名

参数x是展开备份文件

参数t是显示备份文件的内容

参数T后面跟随一个文件参数,指定从这个文件中读取要备份的各个文件的路径

参数z是使用压缩方式创建和解开备份文件,这是GNU的新版tar的功能,需要同时安装gzip

如果不使用T参数,那么就需要一个参数,指明进行备份文件和目录的路径

这些选项参数可以使用Unix下的标准参数符号 “-” 进行引导,如 “-c” 、 “-f” 等,大部分参数都是单独使用的参数,而有些如 “-f” 、 “-T” ,其后面还要跟随一个文件名作参数。因此可以将单独的参数写在一起,如 “-cv” 就等同于 “-c -v” ,也可以与一个需要参数的选项写在一起,如 “-cvf filenam” 就等同于 “-c -v -f filename” 。如果不使用 “-” 引导参数,tar也能识别这些命令选项。如 “tar tvf filename” 就等同于 “tar -cvf filename” 。tar能够创建备份文档,能够备份到磁带上或者产生一个文件,如:

# tar cf root.tar /root

将/root目录下的所有文档备份到root.tar文件中,root.tar指定输出的备份文件,/root指出要做备份的目录。如果要备份到磁带上,将输出的备份文件指定为磁带设备文件即可:

# tar cf /dev/nrsa0 /root

如果设置了环境变量TAPE,则可以不使用参数f指定输出磁带设备名字。

# TAPE=/dev/nrsa0; export TAPE

# tar c /root

从备份文档中解出所有文件或某个文件,只需要使用x选项替换前面的c选项,例如从磁带中解出hello.c文件:

tar xv hello.c

列出tar备份文档中的内容,可以使用t选项,tar tv将列出磁带上的所有文件内容,而tar tf root.tar将root.tar文件上的内容列出。

tar本身不支持文件压缩,因此创建的文件要比较大。但tar可以和GNU的压缩软件gzip合作,直接生成压缩文件,所需要的是在参数中增加z选项。压缩的备份文件和普通tar备份是不同的,因此凡是压缩的备份操作,均需使用z参数。如:

# tar czvf root.tar.gz /root

# tar xzvf root.tar.gz hello.c

# tar tzvf root.tar.gz

要进行增量备份和更新备份,必须找出那些文件在这个期间进行更新。这个任务可以由程序find来完成,例如查找过去七天更改的文件,并使用tar的-T参数制定进行备份的文件,进行备份:

# find / -mtime -7 -print > /tmp/filelist

# tar -c -T /tmp/filelist -f /dev/nrsa0

由于要使用find来找出需要备份的文件列表,那么就需要使用文件的修改时间进行查询,需要使用-mtime参数。另一个更有用的参数是-newer,可以查找出所有比某个文件更新的文件,由于备份是周期进行的,因此可以在完全备份之后生成一个标记文件,那么所有比这个文件新的文件都需要进行更新备份。

# find / -newer full_back_tag_file -print > /tmp/filelist

进行备份需要定期执行,不能完全依赖于管理员手工进行备份。备份也应该选择在系统比较空闲时进行,以免影响系统的正常处理任务。通常可以选择半夜0:00点之后进行备份,这样更不能将这个任务由管理员手工完成了。Unix提供了定时服务cron,能够在确定的时间中执行一系列任务,因此备份必须和cron合作来完成,或者使用/etc下的daily,weekly,monthly文件定时操作。

未完,待续。。。

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
推荐阅读
 
 
 
>>返回首頁<<
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有