15 May 2007
天有不测风云。我们迟早会遇到一些意想不到的事情。这里将介绍一些保证睚灾难来临之前准备好数据副本的方法。
- 通过ssh使用tar工具执行备份
scp不可跨越子目录保留文件的所有者和权限位,ssh能像标准Unix命令一样与其他命令组合使用。若要将一个服务器上home目录的所有文件备份到另一个服务器上的存档中,可以使用以下命令:
root@home:~#tar zcvf - /home | ssh 192.168.0.8 "cat >home-homes.tgz"tar zcvf - /home | ssh 192.168.0.8 "cat >home-homes.tgz"
可以将压缩存档文件直接写到远程计算机的磁带驱动器中:
root@home:~#tar zcvf - /home | ssh 192.168.0.8 "cat >/dev/tape"
文件夹(tomcat)同步
root@home:~#cd /app;tar zcf - tomcat/ \
| ssh 192.168.0.8 "cd /app; mv tomcat tomcat.bak; tar zpxvf -"
本地大存档还原到远端服务器
root@home:~#ssh oracle@192.168.0.8 "cd /app/oracle/log; tar zpvxf -" \
< log.tgz
或
oracle@DB1:~$ssh root@home "cat log.tgz" \
| tar zpvxf -
- 通过ssh使用rsync工具
root@home:~#rsync -ave ssh test@192.168.0.8:/app/tomcat/http/ /app/tomcat/http/
使用ssh传输rsync流量的优点:可通过网络加密数据,在二台计算机之间保持大型、复杂目录结构的同步极为方便。比如把web内容镜像到任意数量的服务器上,构建一个Web“群集”。
- Pax命令进行存档
创建存档文件:
root@home:~#cd /app;pax -wf app.pax .
root@home:~# file app.pax
app.pax: POSIX tar archive
root@home:~#pax -f app.pax |more
展开存档文件
root@home:~#cd ~;pax -rvf /app/app.pax
pax可以还原tar和cpio存档
root@home:~#pax -rvzf /app/mdamd.tar.gz
root@home:~#pax -rvf /app/oracle.cpio
交互式还原
root@home:~#cd ~;pax -rvif /app/app.pax
递归复制目录结构
root@home:~#cd /app/tech_project
root@home:~#mkdir -p /data/tech_project
root@home:~#pax -rw . /data/tech_project
增量备份
每一周全备一次,其它时间进行增量备份
root@home:~#mkdir -p /data/backups/tech_doc
root@home:~#pax -wvf /data/backups/tech_doc/tech_bak`date +%w` .
root@home:~#pax -wv -T 0000 -f /data/backups/tech_doc/tech_add_bak`date +%w` .
还原时跳过文件
root@home:~#pax -rvf /app/backups/tech_doc/tech_bak1 -c './file1'
c选项是例外选项。n选项与c不同的是n选项只还原第一个匹配该模式的文件。
- ISO方式
-r生成映像文件中加入Rock Ridge扩展,即将保留长文件名和文件权限。
ISO记录成CDR/CDRW
root@home:~#cdrecord -v speed=16 dev=0,0,0 -data image.iso
root@home:~#cdrecord -v speed=8 dev=0,0,0 -data image.iso
root@home:~#mkisofs -r /app/backup/ \
| ssh 192.168.0.8 "cdrecord -v speed=16 dev=0,0,0 fs=8m -data -"
| cdrecord -v speed=0 dev=0,0,0 fs=8m -data -
网络记录需要优质稳定的100Mbps网络,下载记录只能显示Unix管道的能力。
没有评论:
发表评论