存储 频道

Unix备份与恢复(1)

 
不要忘记mtime,atime,以及ctime.
 
Unix系统为每个文件都记录这三个不同的时间,第一个是mtime,即修改时间。无论何时,只要文件内容被改变,mtime的值就会被相应修改。第二个是atime,即访问时间。只要文件被访问(比如运行或读取),它就会被修改。第三个是ctime,即变更时间。当文件的属性发生变化(比如改变权限或者所有关系)时,ctime的值就会被改变。管理员用ctime来查找黑客。
 
备份会改变atime,tar,cpio,dd都会这样做,dump通过原始设备来读取文件系统,因此它不会改变atime.
 
dump的语法。
dump levelunbdsf blkg-factor density size device-name file_system
 
例子:
 
把/home完全备份到一个称做/dev/rmt/0cbn的本地磁带驱动器上。
 
# dump 0unbdsf 126 141000 11500 /dev/rmt/0cbn /home
 
把/home完全备份到一个称做/backup/home.dump的光学CD驱动器上。
 
# dump 0unbdsf 126 141000 11500 /backup/home.dump /home
 
以上命令由三个不需要参数的选项(0,u and n)以及四个需要一个协作参数的选项(b,d,s and f)组成。
 
命令选项:
0---9     指定DUMP应该进行的备份级别。
b         指定DUMP就应该使用的块因子。
u         指定DUMP更新dumpdates文件。
n         完成操作时要通知操作员组的成员。
d(密度) and s(大小)   告诉DUMP备份卷有多大,DUMP用这些数字来估计要使用
何种磁带。
f         告诉DUMP要使用什么设备。
W,w       告诉DUMP执行一次空运行来告诉你什么文件系统需要备份。
 
要避免跨卷DUMP。
 
restore的语法
 
restore [trxi]vbsfy blocking-factor file-number device-name
例子:
要恢复一个使用块因子32创建的DUMP磁带备份(位于/dev/rmt/0cbn)的全部内容。
 
# restore rvbfy 32 /dev/rmt/0cbn
 
有一个使用块因子32创建的位于/dev/rmt/0cbn中的DUMP磁带,如果想从该磁带中恢复文件/etc/hosts and /etc/passwd.
 
# restore xvbfy 32 /dev/rmt/0cbn ./etc/hosts ./etc/passwd
 
创建内容表
 
# restore tfy device >;/tmp/dump.list
 
命令选项:
决定restore的类型
t       显示卷的内容。
r       指明卷的整个内容应该被恢复到当前工作目录下。
x        只提取命令后面所列的文件。
i        允许执行交互式恢复。
决定restore的行为
v        指定详细输出
s        读取之前跳过的磁带文件个数
b        块因子
f        备份驱动器的文件名。
y        恢复过程禁止询问。
 
使用cpio工具进行备份和恢复
 
备份的语法
 
cpio -o[aBcv]
恢复的语法
cpio -i[Btv][patterns]
 
例子:
 
在一个本地磁带上创建/home的一个完全备份。
# cd /home
# touch level.0.cpio.timestamp     使增量备份成为可能。建立时间参考点。
# find . -print|cpio -oacvB >; device   device可以是一个光学或CD设备。
# touch level.1.cpio.timestamp     增量备份的时间参考点。
# find . newer level.1.cpio.timestamp -print|cpio -oacvB >;device
在远程磁带上创建/home的一个完全备份。
# cd /home
# find . -print|cpio -oavB|(rsh remote_system dd of=device bs=5120)
 
cpio备份用绝对路径(find /home/file)会限制恢复时的灵活性。它只能恢复到/home/file。
 
如果用相对路径(find home/file)就能把它恢复到任何地方。
0
相关文章