博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
数据同步
阅读量:2436 次
发布时间:2019-05-10

本文共 5766 字,大约阅读时间需要 19 分钟。

 

数据同步在很多地方都会用到,再次和大家分享一下利用ssh和rsync来进行同步的过程。 

配置SSH

这里配置的SSH服务器指的修改SSH的默认端口,以及配置SSH的密钥认证。这里以配置centos5.5系统为例。
首先需要两台服务器,一台备份目标服务器也就是rsync的目标服务器,一台源服务器。
配置ssh服务,为了避免每次同的时候输入密码,要配置ssh的密钥和公钥。
Centos linux一般默认的就安装ssh服务,并且已经启动。默认就可以使用(这一点debain和Centos有所不同)。
先来看一看ssh密钥登录的一个简单解释:
SSH 告诉远程 Server 端的 sshd ,它想使用 RSA 认证协议…远程的 sshd 会生成一个随机数,并用我们先前拷贝过去的公钥对这个随机数进行加密。然后, sshd 把加密了的随机数发回给正在 本地服务器上运行的 ssh 。接下来,我们的 ssh 用 专用密钥对这个随机数进行解密后,再把它发回给远程服务器,类似于声明一下:“瞧,我真的有匹配的专用密钥;我能成功的对您的消息进行解密!”最后, 远程 sshd 得出结论,既然人家真的有该专用密钥,就应当让人家登录。因此,我们有匹配的专用密钥这一事实授权我们访问远程服务器 。
制作公钥和私钥
root@jadeshow ~]# ssh-keygen -t dsa    
Generating public/private dsa key pair.
Enter file in which to save the key (/root/.ssh/id_dsa):    
Enter passphrase (empty for no passphrase):    
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:
90:cc:bc:e3:99:28:95:60:89:22:c5:07:be:51:32:c5 root@jadeshow.com
[root@jadeshow ~]# ifconfig    
eth0            Link encap:Ethernet    HWaddr 00:0C:29:4B:9F:D3    
                    inet addr:192.168.1.107    Bcast:255.255.255.255    Mask:255.255.255.0
                    inet6 addr: fe80::20c:29ff:fe4b:9fd3/64 Scope:Link
                    UP BROADCAST RUNNING MULTICAST    MTU:1500    Metric:1
                    RX packets:582 errors:0 dropped:0 overruns:0 frame:0
                    TX packets:311 errors:0 dropped:0 overruns:0 carrier:0
                    collisions:0 txqueuelen:1000    
                    RX bytes:65280 (63.7 KiB)    TX bytes:40116 (39.1 KiB)
                    Interrupt:59 Base address:0x2000    
拷贝公钥到目标服务器,
目标服务器基本信息:
 
[root@web ~]# ip a|grep eth0          
2: eth0:
mtu 1500 qdisc pfifo_fast qlen 1000
inet 192.168.1.106/24 brd 255.255.255.255 scope global eth0
[root@web~]#scp root@192.168.1.107:/root/.ssh/id_dsa.pub /root/.ssh/authorized_keys
id_dsa.pub                                                                        100%    607         0.6KB/s     00:00        
[root@web ~]# ls ~/.ssh/
authorized_keys    id_rsa    known_hosts
切换到源服务器,验证免登录设置是否成功。
[root@jadeshow ~]# ssh 192.168.1.106              
Last login: Sun Jun 20 22:30:54 2010 from jadeshow
[root@jadeshow ~]# ssh 192.168.1.106
Last login: Sun Jun 20 22:31:29 2010 from jadeshow
[root@web ~]# ifconfig    
eth0            Link encap:Ethernet    HWaddr 00:0C:29:00:F0:ED    
                    inet addr:192.168.1.106    Bcast:255.255.255.255    Mask:255.255.255.0
此处免验证登录成功,表现形式为不需要输入密码。我们在看下需要输入密码登录的。
[root@web ~]# ssh 192.168.1.107                   
root@192.168.1.107's password:     此处需要输入密码
Last login: Sun Jun 20 22:34:37 2010 from 192.168.1.106
[root@jadeshow ~]#
此外还可以通过修改open-ssh server的配置文件指定特定端口 短线时常 等等,可通过查看man sshd_config来确定。

配置rsync

rsync的用法是 rsync [选项]  源 目标 
假设我要把主机名为jadeshow下root的家目录同步到主机名为web的家目录下的backup目录。
root@jadeshow .ssh]# rsync -av    ~/ -e ssh 192.168.1.106:~/backup         
#-v 详细输出模式 -a, --archive 归档模式,表示以递归方式传输文件,并保持所有文件属性    -e 调用 ssh
building file list ... done
./
.bash_history
.bash_logout
.bash_profile
.bashrc
.cshrc
.tcshrc
.viminfo
anaconda-ks.cfg
install.log
install.log.syslog
.gconf/
.gconf/apps/
.gconf/apps/%gconf.xml
.gconf/apps/gnome-session/
.gconf/apps/gnome-session/%gconf.xml
.gconf/apps/gnome-session/options/
.gconf/apps/gnome-session/options/%gconf.xml
.gconfd/
.gconfd/saved_state
.ssh/
.ssh/id_dsa
.ssh/id_dsa.pub
.ssh/id_rsa
.ssh/known_hosts
backup/
python/
python/fulijisuanqi.py
python/python.py
sent 35361 bytes    received 514 bytes    23916.67 bytes/sec
total size is 33739    speedup is 0.94
人工对比源和目标的文件数目         
[root@jadeshow ~]# ls
anaconda-ks.cfg    backup    install.log    install.log.syslog    python
[root@web ~]# ls backup/
anaconda-ks.cfg    backup    install.log    install.log.syslog    python
总结
本次的的文已经到这里就结束了,不过一般在生产环境中 备份的文件一般会被按时间顺序打成包,并且利用脚本和crontab定时任务来实现特定文件的定时备份。

转载地址:http://hoqmb.baihongyu.com/

你可能感兴趣的文章
DOORS需求管理工具的其他资料
查看>>
使用 Rational RequisitePro 进行需求管理的新技术
查看>>
最新解决方案助力Borland ALM亚太应用
查看>>
Borland ALM之需求定义和管理解决方案
查看>>
需求管理详解
查看>>
Verizon选择Borland控制开发流程并降低风险
查看>>
Borland 崭新的Caliber Define IT产品
查看>>
IBM Rational RequisitePro集成简介
查看>>
EDS用Borland作为它的全球标准
查看>>
集成 IBM Rational RequisitePro 与 IBM Rational Portfolio Manager
查看>>
OOAD利器Rational Rose的介绍
查看>>
SCA客户端以及基于Java的模型实现(一)
查看>>
后CMMI时代的软件过程改进
查看>>
SCA及未来软件系统的开发
查看>>
CaliberRM 需求管理系统
查看>>
需求管理工具试用 – CaliberRM
查看>>
一年的测试生活和感悟
查看>>
黑盒测试
查看>>
没有需求就没有软件——需求工程简论
查看>>
使用PHP开发SCA和SDO
查看>>