动网论坛,站长建站首选,国内使用量最多的论坛软件 动网论坛官方技术讨论区 站长工具 申请属于您自己的免费论坛
首页 | 新闻资讯 | 网站运营 | 网络编程 | 数据库 | 服务器 | 网页设计 | 图像媒体 | 网络应用 | 搜索优化 | 资源下载 | 动网主机 | DVBOX
    本站内  互联网 ASP论坛  ASP.Net论坛  PHP论坛
   安全 → 阅读文章
  

 Rsync+SSH---Server自动异地备援加密

作者来源:ADJ网络实验室  
阅读 数 552 人次 , 2006-3-19 2:26:00 

一.前言

自从911事件之后...异地备援这个名称就常听人提起...不过就是满少看到大家在讨论... 刚好这次因为有需要...不得不研究这个东西...顺便看看大家都是怎样实作异地备援的..底下是个人的一点点心得...

这次主要分成三个部份...单向 Trusted SSH Authorized...Rsync...Crontab....姑且不论传输速度为何...以及无时差的异地备援...相信这样的Solutions应该可以满足一般人的需求吧...

二.准备

测试系统: Red Hat Linux 7.3 to Red Hat 7.3 ...Local 端需要启动 Rsync...套件openssh-3.4p1-1

** 假设: A (10.0.0.1) 要对 B (192.168.0.1) 做异地备援

PS:角色定位要明确...当然您要巅倒的来做也行...

参考网站 : http://www.fanqiang.com/a6/b7/20010908/1305001258_b.html

三.开始实作

1.完成单向Trusted SSH Authorized﹕

我要 A (10.0.0.1) 要对 B (192.168.0.1) 做异地备援 ...所以我针对 A 让它使用SSH?

B到 B 时...不需要输入密码...User 是 Root...SSH Version2的版本..首先要先在A(10.0.0.1)产生public/private dsa key pair..

[root@mondeo home]# cd /root/.ssh/

[root@mondeo .ssh]# ssh-keygen -d

Generating public/private dsa key pair.

Enter file in which to save the key (/root/.ssh/id_dsa):

Enter passphrase (empty for no passphrase): <-- 此处不打passphrase..下次才不会询问password

Enter same passphrase again:

Your identification has been saved in /root/.ssh/id_dsa.

Your public key has been saved in /root/.ssh/id_dsa.pub.

The key fingerprint is:

11:22:33:44:55:66:77:88:99:00:11:22:33:44:55:66 root@mondeo.adj.idv.tw

[root@mondeo .ssh]#

这时会在系统下看到两个档案...id_dsa与id_dsa.pub 现在要把id_dsa.pub丢到192.168.0.1 并且更名为 authorized_keys2

[root@mondeo .ssh]# scp id_dsa.pub 192.168.0.1:/root/.ssh/authorized_keys2

root@192.168.0.1's password:

id_dsa.pub 100% |*************************************************************

**************| 612 00:00

[root@mondeo .ssh]#

现在您可以执行ssh 192.168.0.1 看看能否登入而不需要输入密码...

2.使用rsync 做Remote sync﹕

rsync特性简介 :

rsync是unix-like系统下的数据镜像备份工具,从命名上就可以看出来了remote sync。

它的特性如下:

1、可以镜像保存整个目录树和文件系统。

2、可以很容易做到保持原来文件的权限、时间等等。

3、无须特殊权限即可安装。

4、优化的流程,文件传输效率高。

5、可以使用rcp、ssh等方式来传输文件,当然也可以通过直接的socket连接。

6、支持匿名传输。

首先要先对B(192.168.0.1)把Rsync的Server on起来...

[root@linux /]#chkconfig --list rsync

rsync off

[root@linux /]#chkconfig rsync on

现在我先在A(10.0.0.1)上建一个 Backup directory...然后对B(192.168.0.1)的mysql跟

html的目录做异地备援...偶写一个简单的script如下:

[root@mondeo /]# mkdir backup

[root@mondeo backup]#vi sync

rsync -avlR --delete -e ssh 192.168.0.1:/var/lib/mysql /backup/

rsync -avlR --delete -e ssh 192.168.0.1:/var/www/html /backup/

[root@mondeo backup]#chmod 700 sync



参数意义如下﹕

-a, --archive

It is a quick way of saying you want recursion and want to preserve almost everything.

-v, --verbose

This option increases the amount of information you are given during the transfer.

-l, --links

When symlinks are encountered, recreate the symlink on the destination.

-R, --relative

Use relative paths. 保留相对路径...才不会让子目录跟 parent 挤在同一层...

--delete

是指如果Server端删除了一文件,那客户端也相应把这一文件删除,保持真正的一致。

-e ssh

建立起加密的连接。

参数的使用因人而异...您可以man rsync来使用更多的参数...

测试看看:

[root@mondeo backup]# ./sync

receiving file list ... done...donewrote 16 bytes read 107 bytes 82.00

bytes/sectotal size is 0 speedup is 0.00receiving file list ...

done...donewrote 16 bytes read 921 bytes 624.67 bytes/sectotal size is

308331 speedup is 329.06[root@mondeo backup]#



看到没询问密码....以及有把档案copy过来就没问题啰....当然你可以把远程的数据做个变动...看是否真有同步啦....

3.使用crontab 来做自动排程:

现在设好之后...我希望每天的0点0分...夜深人静的时后再来帮我做sync....当然您想要多久做 sync 看个人需求啰...

[root@mondeo backup]# crontab -e

0 0 * * * /backup/sync

如此一来..算是大功告成了...原则上您已具备自动加密异地备援啰....赶紧找两台机器来试试吧...



 本文Tagsmd5  加密  
 收藏本文  打印本文  论坛讨论  关闭窗口
· 上一篇:使用SSH建立基于Linux/Unix的VPN网络
· 下一篇:linux SSH 的一些安全技巧
· mssql中public和db_owner权限下拿到webshell或者系统权限
· 拒绝VoIP的五大理由
· VPN硬件网关SINFOR M5100-S
· 战术攻防思维撷粹
· 网上交易帐号和密码被盗的解决


关于本站 | 联系我们 | 业务合作 | 客户案例 | 诚聘英才 | 广告合作 | 收藏本站
海口动网先锋网络科技有限公司版权所有
Copyright © 2000 - 2006 Cndw.Com
中华人民共和国电信与信息服务业务经营许可证编号 琼 ICP 020077