有两台服务器,不在同一局域网 怎么将文件实时同步

有两台服务器,不在同一局域网 怎么将文件实时同步,第1张

回答:

双机服务器一般用ca公司surviveit,不仅可以实时同步数据,还可以主备机切换,更可以主服务器挂掉后,备服务器自动顶替其位置,具体操作如下:两台服务器安装完surviveit后,primary

server和second

server便自动出现在管理软件的managed

servers列表中。此时需要建立一个replication

task:

1选中主服务器primary

server;

2选中数据备份服务器second

server;

3选择网络速度(10m选fast,100m选very

fast);

4选择数据保护等级,一般选择full

protection(既能进行数据的实时备份,也能进行服务器的实时切换);

5从primary

server中选择需要保护的目录;

6选择primary

server中被保护目录中的文件共享;

7选择enable

intelligent

failover和detect

another

computer

or

network

device;

8选择transfer

primary

ip

address

to

the

secondary

server

on

failover,change

primary

ip

address

on

failover。

9从已建立好的replication

task中可更改数据在second

server中的备份路径;

10在replication

task的failover

actions中,分别对primary

server和second

server增加sql70

scripts;

11运行建好replication

task后的第一次数据同步,同步结束后primary

server自动处于保护状态。

追问:

这个可以让两个服务器的同时更新吗

比如说从的上传

主的也会更新吗

而不是只是主的上传

从的更新

回答:

这服务器是你们托管的还是自己维护?托管的话,不会影响速度,除非你一次性更新超大量内容,还有我想说的是,如果是托管的,为啥不双线接入或者三线接入?还得用两台服务器对两种线路的用户?如果是自己维护,三台机器,你就更新主服务器,把那两个设成从服务器,只更新主服务器后那两个就都更新了,更不会拖慢速度了风尘々紫驿

的感言:

虽然没用你的方法还是谢谢你了

呵呵

2011-03-10

SQL Server 复制:事务发布

配置发布服务器,

快照发布:隔一段时间会覆盖订阅服务器的数据库,在订阅服务器上做的修改同样被覆盖;

事务发布:是一种接近实时地从源到目标分发数据的方法;

具有可更新订阅的事务发布:订阅服务器可更新发布服务器的数据;

合并发布:发布服务器和订阅服务器的更新都会同步到对方,注意ID在合并发布上的冲突

1 在SQL SERVER下实现发布服务器和订阅服务器的通信正常(即可以互访),打开1433端口,在防火墙中设置入站规则;

2 发布服务器与订阅服务器的SQL Server Agent代理帐号必须设置的一样,否则不能互访;

3 如果你希望在复制的过程中一并复制非聚集索引,可以对发布属性-项目进行如下设置,修改完之后需要重新生成快照;

1环境

centos64

2安装svn

代码如下:

yum -y install subversion

3配置

建立版本库目录

代码如下:

mkdir /www/svndata

svnserve -d -r /www/svndata

4建立版本库

创建一个新的Subversion项目

代码如下:

svnadmin create /var/www/svndata/njlrxx

配置允许用户jiqing访问

代码如下:

cd /var/www/svndata/njlrxx/conf

vi svnserveconf

anon-access=none

auth-access=write

password-db=passwd

注:修改的文件前面不能有空格,否则启动svn server出错

代码如下:

vi passwd

[users]

#用户1 = 密码1

#用户2 = 密码2

jiqing=123456

5客户端连接

代码如下:

svn co svn://ip/njlrxx

用户名:jiqing

密码:123456

6实现SVN与WEB同步,可以CO一个出来,也可以直接配在仓库中

(1)设置WEB服务器根目录为/var/www/webroot

(2)checkout一份SVN

代码如下:

svn co svn://localhost/njlrxx /var/www/webroot/njlrxx

修改权限为WEB用户

代码如下:

chown -R apache:apache /var/www/webroot/njlrxx

(3)建立同步脚本

代码如下:

cd /var/www/svndata/njlrxx/hooks/

cp post-committmpl post-commit

编辑post-commit,在文件最后添加以下内容

代码如下:

REPOS="$1"

REV="$2"

BASEPATH=/var/www/webroot/njlrxx

WEBPATH="$BASEPATH/"

export LANG=zh_CNUTF-8

svn update $WEBPATH --username jiqing --password 123456 --no-auth-cache

增加脚本执行权限

代码如下:

chmod +x post-commit

最后操作是关闭服务然再打开服务:

svn服务的关闭:

代码如下:

killall svnserve

svn开启:

代码如下:

svnserve -d -r /var/www/svndata

7如何支持匿名用户访问

方法一:

在svn安装目录下找到,conf/httpdconf文件,如果是手动集成apache的则找到apache的配置文件。

找到中的

代码如下:

Require valid-user

改为

代码如下:

LimitExcept GET PROPFIND OPTIONS REPORT

Require valid-user

/LimitExcept

重启服务,这样设置以后,svn下的所有内容都不在需要验证用户,可以直接访问。

缺点:svn自身的访问权限设置失效了。更多的时候我们希望用户先用匿名方式尝试访问,如果不行,在输入用户名和密码验证访问。

方法二:

在配置文件中加入

代码如下:

Satisfy Any

加入了Satisfy Any的设置,其表示在同时启用了Allow(允许)和Require的情况下,指定相关策略的,一共有两个备选值,All表示用户必须同时满足Allow和Require的条件,而Any则是满足其中之一即可。

Satisfy Any表示允许先用匿名方式尝试访问,并根据svnauthz对匿名用户的控制给予访问权限。

PS:SVN自动同步程序执行流程:

1、用户提交文件到SVN服务器,提交操作成功后触发post-commit脚本

2、在post-commit版本文件中使用php_scriptphp执行PHP脚本

3、在PHP脚本中通过exec系统调用更新服务器上的版本库工作副本

4、根据更新操作结果日志,对另一个SVN版本库进行对应的操作处理

比如说,数据库一今天有更新,数据库二必须数据和数据库,比如说,数据库一今天有更新,数据库二必须数据和数据库是一样的,“当数据库一服务器挂了之后网站不受影响,转去访问数据库服务器二”

这个是网站程序去控制的,在数据库连接配置文件里,写个js或是php上面的小程序,当数据库一错误,连接数据库二。

下面是同步数据库的配置:

两台服务器,分别安装好Mysql,都安装在 /usr/local/mysql 目录下(安装步骤省略,请参考相关文档),两台服务器的IP分别是19216801和19216802,我们把19216801作为master数据库,把19216802作为slave服务器,我们采用单向同步的方式,就是master的数据是主的数据,然后slave主动去master哪儿同步数据回来。

两台服务器的配置一样,我们把关键的配置文件拷贝一下,默认的配置文件是在 /usr/local/mysql/share/mysql目录下,分别有 my-largecnf, my-mediumcnf, my-smallcnf等几个文家,我们只是测试,使用my-mediumcnf就行了。mysql安装完后,默认的配置文件是指定在数据库存放目录下的,我们用的是41X的,所以配置文件就应该在 /usr/local/mysql/var 目录下,于是把配置文件拷贝过去:

cp /usr/local/mysql/share/mysql/my-mediumcnf /usr/local/mysql/var/mycnf

两台服务器做相同的拷贝配置文件操作。

2 配置Master服务器

我们要把19216801配置为主mysql服务器(master),那么我们就要考虑我们需要同步那个数据库,使用那个用户同步,我们这里为了简单起见,就使用root用户进行同步,并且只需要同步数据库abc。

打开配置文件:

vi /usr/local/mysql/var/mycnf

找到一下信息:

# required unique id between 1 and 2^32 - 1

# defaults to 1 if master-host is not set

# but will not function as a master if omitted

server-id = 1 //1为master,2为salve

添加两行:

sql-bin-update-same //同步形式

binlog-do-db = abc //要同步的数据库

重启19216801的mysql服务器:

/usr/local/mysql/bin/mysqladmin shutdown

/usr/local/mysql/bin/mysqld_safe --user=mysql &

3 配置Slave服务器

我们的slave服务器主要是主动去master服务器同步数据回来,我们编辑配置文件:

vi /usr/local/mysql/var/mycnf

找到下面类似的信息:

# required unique id between 1 and 2^32 - 1

# defaults to 1 if master-host is not set

# but will not function as a master if omitted

server-id = 1

把上面的server-id修改为2,同时添加一些信息:

server-id = 2 //本Mysql是slave服务器

master-host = 19216801 //master服务器的IP

master-user = root //连接master服务器的用户

master-password = '' //连接master服务器的密码

master-port = 3306 //连接端口

master-connect-retry = 10 //重试次数

replicate-do-db = abc //要同步的数据库

log-slave-updates //同步的形式

重启19216802的mysql服务器:

/usr/local/mysql/bin/mysqladmin shutdown

/usr/local/mysql/bin/mysqld_safe --user=mysql &

4 测试安装

首先查看一下slave的主机日志:

cat /usr/local/mysql/var/xxxxx_err (xxx是主机名)

检查是否连接正常, 看到类似这样的信息就成功了

051031 11:42:40 mysqld started

051031 11:42:41 InnoDB: Started; log sequence number 0 43634

/usr/local/mysql/libexec/mysqld: ready for connections

Version: '4115-log' socket: '/tmp/mysqlsock' port: 3306 Source distribution

051031 11:42:41 [Note] Slave SQL thread initialized, starting replication in log 'FIRST'

at position 0, relay log '/new4-relay-bin000001' position: 4

051031 11:43:21 [Note] Slave I/O thread: connected to master 'root@19216801:3306',

replication started in log 'FIRST' at position 4

在Master查看信息

/usr/local/mysql/bin/mysql -u root

查看master状态:

mysql> show master status;

查看Master下mysql进程信息:

mysql> show processlist;

在slave上查看信息:

/usr/local/mysql/bin/mysql -u root

查看slave状态:

mysql> show slave status;

查看slave下mysql进程信息:

mysql> show processlist;

你再在master的abc库里建立表结构并且插入数据,然后检查slave有没有同步这些数据,就能够检查出是否设置成功。

最后,如果有兴趣的话,可以研究一下双击热备份,或者一台master,多台slave的同步实现。

我是饮食web,如果看不懂可以追问,我上线了可以帮你解答

1点击控制面板--程序--打开或关闭Windows功能。

2勾选“Internet信息服务”及下面的所有选项。点击确定,等待更改完成

3点击控制面板中的管理工具。

4双击“Internet信息服务管理器”项就可以对Web服务进行管理。

5打开浏览器,输入“http://本机IP地址”。

6为了确保外网可以正常访问该Web服务,需要将本机对HTTP服务的防火墙打开。进入控制面板,点击“服务和安全--允许程序通过网络防火墙进入访问”项。然后在打开的窗口中选择“HTTP服务”即可。

1、 安装DNS服务开始—〉设置—〉控制面板—〉添加/删除程序—〉添加/删除Windows组件—〉“网络服务”—〉选择“域名服务系统(DNS)”—〉按确定进行安装2、创建DNS正相解析区域开始—〉程序—〉管理工具—〉选择DNS,打开DNS控制台—〉右击“正相搜索区域”—〉选择“新建区域”—〉选择“标准主要区域”(或“Active Directory 集成区域”或“标准辅助区域”)--〉输入域名“abccom” —〉输入要保存的区域的文件名“abccomdns”— 〉按完成,完成创建创建主机记录等:右击“abccom”—〉“新建主机” —〉在名称处输入“www”,在“IP地址”处输入“19216803”,—〉按“添加主机”完成3、创建DNS反向解析区域开始—〉程序—〉管理工具—〉选择DNS,打开DNS控制台—〉右击“反向搜索区域”—〉选择“新建区域”—〉选择“标准主要区域”—〉输入用来标示区域的“网络ID”—〉输入要保存的区域的文件名“0168192in-addrarpadns”—〉按完成,完成创建创建指针PTR:右击“1921681xsubnet”—〉选择“新建指针”—〉在“主机IP号”中输入2—〉在“主机名”中输入ftp—按 “确定”完成添加4、启用DNS循环复用功能 如wwwabccom对应于多个IP地址时DNS每次解析的顺序都不同右击选择“DNS服务器”—〉属性—〉高级—〉选择“启用循环”(round robin)--〉选择“启用netmask 排序”—〉按“ 确定”返回注:如所有的IP和域名服务器在同一子网时需要取消“启用netmask排序”,才能实现循环复用功能。即启用循环时,当主机的IP和dns在同一个子网时将始终排在最前面,当都在一个子网时就不进行循环,只有去除了“启用netmask排序” 时才能实现循环复用。DNS服务器会优先把与自己的网络ID相同的记录返回给客户端5、创建标准辅助区域,实现DNS区域复制在另一台DNS服务器上,右击“正向搜索区域”—〉选择“新建区域”—〉选择“标准辅助区域”—〉输入“abccom”—〉输入主域名服务器的IP地址—〉选择“完成”可手工要求同步:在辅域名服务器上右击“abccom”的域—〉选择“从主服务器传输”并且可以设置允许传输的域名服务器:在主域名服务器上右击“abccom”的域—〉选择“属性”—〉选择“区域复制”—〉在“允许复制”前打勾,并选择允许复制的主机(到所有服务器、只有在“名称服务器”选项卡中列出的服务器、只允许到下列服务器)完成服务器类型的转换:右击区域—〉选择 “属性”—〉选择“类型”的“更改”按钮—〉选择要更改的区域类型—〉按“确定”6、实现DNS唯高速缓存服务器创建一个没有任何区域的DNS服务器—〉右击DNS服务器—〉选择“属性”—〉选择“转发器”中的“启用转发器”—〉输入转发器的IP地址—〉按“确定”完成清除“唯高速缓存”中的cache内容:右击“DNS服务器”—〉选择“清除缓存”或者选择“DNS服务器”—〉在菜单中选择“查看”,高级—〉右击“缓存的查找”—〉选择“清除缓存”(客户端清空DNS缓存—)ipconfig /flushdns)7、 DNS的委派(子域的转向) 在原域名服务器上建立“subdomainabccom”的主机—〉右击abccom的域,选择“新建委派”—〉将subdomainabccom的域代理给subdomainabccom的主机—〉在subdomainabccom上建立“正向标准区域”subdomainabccom—〉添加相关主机记录8、 设置 DNS区域的动态更新 右击选择DNS上区域—〉选择“属性”—〉选择“常规”中的“允许动态更新”,选是— 〉然后按 “确定”—〉在本机的DHCP服务器中—〉右击选择DHCP服务器—〉选择“属性”—〉选择“DNS”—〉选择“为不支持动态更新的DNS客户启用更新”—〉在客户端使用ipconfig /registerdns来更新域名的注册信息注意客户端需要将完整的计算机名改成myhostabccom9、配置DNS客户端 在客户端计算机上打开tcp/ip属性对话框,在dns服务器地址栏输入dns服务器的ip地址 1、 安装DNS服务开始—〉设置—〉控制面板—〉添加/删除程序—〉添加/删除Windows组件—〉“网络服务”—〉选择“域名服务系统(DNS)”—〉按确定进行安装2、创建DNS正相解析区域开始—〉程序—〉管理工具—〉选择DNS,打开DNS控制台—〉右击“正相搜索区域”—〉选择“新建区域”—〉选择“标准主要区域”(或“Active Directory 集成区域”或“标准辅助区域”)--〉输入域名“abccom” —〉输入要保存的区域的文件名“abccomdns”— 〉按完成,完成创建创建主机记录等:右击“abccom”—〉“新建主机” —〉在名称处输入“www”,在“IP地址”处输入“19216803”,—〉按“添加主机”完成3、创建DNS反向解析区域开始—〉程序—〉管理工具—〉选择DNS,打开DNS控制台—〉右击“反向搜索区域”—〉选择“新建区域”—〉选择“标准主要区域”—〉输入用来标示区域的“网络ID”—〉输入要保存的区域的文件名“0168192in-addrarpadns”—〉按完成,完成创建创建指针PTR:右击“1921681xsubnet”—〉选择“新建指针”—〉在“主机IP号”中输入2—〉在“主机名”中输入ftp—按 “确定”完成添加4、启用DNS循环复用功能 如wwwabccom对应于多个IP地址时DNS每次解析的顺序都不同右击选择“DNS服务器”—〉属性—〉高级—〉选择“启用循环”(round robin)--〉选择“启用netmask 排序”—〉按“ 确定”返回注:如所有的IP和域名服务器在同一子网时需要取消“启用netmask排序”,才能实现循环复用功能。即启用循环时,当主机的IP和dns在同一个子网时将始终排在最前面,当都在一个子网时就不进行循环,只有去除了“启用netmask排序” 时才能实现循环复用。DNS服务器会优先把与自己的网络ID相同的记录返回给客户端5、创建标准辅助区域,实现DNS区域复制在另一台DNS服务器上,右击“正向搜索区域”—〉选择“新建区域”—〉选择“标准辅助区域”—〉输入“abccom”—〉输入主域名服务器的IP地址—〉选择“完成”可手工要求同步:在辅域名服务器上右击“abccom”的域—〉选择“从主服务器传输”并且可以设置允许传输的域名服务器:在主域名服务器上右击“abccom”的域—〉选择“属性”—〉选择“区域复制”—〉在“允许复制”前打勾,并选择允许复制的主机(到所有服务器、只有在“名称服务器”选项卡中列出的服务器、只允许到下列服务器)完成服务器类型的转换:右击区域—〉选择 “属性”—〉选择“类型”的“更改”按钮—〉选择要更改的区域类型—〉按“确定”6、实现DNS唯高速缓存服务器创建一个没有任何区域的DNS服务器—〉右击DNS服务器—〉选择“属性”—〉选择“转发器”中的“启用转发器”—〉输入转发器的IP地址—〉按“确定”完成清除“唯高速缓存”中的cache内容:右击“DNS服务器”—〉选择“清除缓存”或者选择“DNS服务器”—〉在菜单中选择“查看”,高级—〉右击“缓存的查找”—〉选择“清除缓存”(客户端清空DNS缓存—)ipconfig /flushdns)7、 DNS的委派(子域的转向) 在原域名服务器上建立“subdomainabccom”的主机—〉右击abccom的域,选择“新建委派”—〉将subdomainabccom的域代理给subdomainabccom的主机—〉在subdomainabccom上建立“正向标准区域”subdomainabccom—〉添加相关主机记录8、 设置 DNS区域的动态更新 右击选择DNS上区域—〉选择“属性”—〉选择“常规”中的“允许动态更新”,选是— 〉然后按 “确定”—〉在本机的DHCP服务器中—〉右击选择DHCP服务器—〉选择“属性”—〉选择“DNS”—〉选择“为不支持动态更新的DNS客户启用更新”—〉在客户端使用ipconfig /registerdns来更新域名的注册信息注意客户端需要将完整的计算机名改成myhostabccom9、配置DNS客户端 在客户端计算机上打开tcp/ip属性对话框,在dns服务器地址栏输入dns服务器的ip地址

DABAN RP主题是一个优秀的主题,极致后台体验,无插件,集成会员系统
网站模板库 » 有两台服务器,不在同一局域网 怎么将文件实时同步

0条评论

发表评论

提供最优质的资源集合

立即查看 了解详情