两台服务器的数据同步如何实现?

两台服务器的数据同步如何实现?,第1张

1.安装CentOS7.0yum install ssh 安装SSH协议yum install rsync (rsync是一个远程数据同步工具,可通过LAN/WAN快速同步多台主机间的文件)service sshd restart 启动服务任务

2.配置Master无密码登录所有Salve,在Master机器上生成密码对

3.查看/home/hadoop/下是否有".ssh"文件夹,且".ssh"文件下是否有两个刚生产的无密码密钥对。

4.接着在Master节点上做如下配置,把id_rsa.pub追加到授权的key里面去。

5.设置SSH配置用root用户登录服务器修改SSH配置文件"/etc/ssh/sshd_config"的下列内容。设置完之后记得重启SSH服务,才能使刚才设置有效。

6.退出root登录,使用hadoop普通用户验证成功同步另一台服务器的数据

Anki自带的AnkiWeb同步服务体验较差,当你的单词库较大时,同步起来体验非常的差。因此我在腾讯云上自己搭建了Anki同步服务器。

注意:

我在网上查到的教程都是比较老的,而且大都模仿 Anki知乎专栏的这篇文章 。我主要是参考了 idealclover的Linux 下尝试自建Anki服务器 ,在此表示感激。

我在腾讯云上有个云服务器,关机重新安装系统,很方便,然后用putty远程登录服务器

# easy_install AnkiServer

报错

从头开始看,安装PasteScript的时候就不正常了,然后我试着pip PasteScript,机器没有pip,用easy_install 也不行,我干脆去下了个pip。

# curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py

# python get-pip.py

然后直接

pip install AnkiServer

就好了

~目录下创建Anki文件夹

# mkdir Anki

找到AnkiServer中示例配置的目录,我的在/usr/lib/python2.7/site-packages/AnkiServer-2.0.6-py2.7.egg/examples

复制example.ini 到我们的目录,修改为production.ini

# cp example.ini ~/Anki/production.ini

之后编辑该文档

# vim ~/Anki/production.ini

我用红色涂抹的是主机地址,填你的服务器的内网地址,下面的允许来访问你的服务器的机器的ip,可以枚举每个你允许的ip,也可以设置0.0.0.0 允许任何ip地址连接,然后按esc键,输入:wq保存并退出vim

# ankiserverctl.py -h

查看命令选项

输入 # ankiserverctl.py adduser <username> 来添加用户,该命令回车后会要求你输入密码

可以查看是否成功添加了用户

# ankiserverctl.py lsuser

成功的话,你会看到自己添加的用户名

测试运行

# ankiserverctl.py debug

没有报错的话我们就可以正式运行Ankiserver了,先用Ctrl+C中止调试程序,然后

# ankiserverctl.py start

打开插件文件夹

本来这里是没有这个 mysyncserver.py 文件的,我们创建一个

文件内容如下:

保存后,重启Anki客户端

点击同步按钮,输入自己在服务器里设置的用户名和密码,然后就像用AnkiWeb服务一样了,不过体验如丝般顺滑,而且可以同步很大的库文件

得益于大家的力量,我成功搭建了自己的Anki同步服务器,但愿我的文章能给你提供帮助。

一、安装 SVN服务器程序

1.1运行 VisualSVN-Server-1.7.2.msi

1.2选择程序安装目录 和 SVN仓库目录

我程序装在 C:\Program Files\VisualSVN Server , SVN仓库目录在 D:\SVN

1.3 安装完成,立即运行

二、服务器配置

2.1服务器维护界面

2.2仓库目录默认的内容

2.3创建新项目wapzucom

2.3创建用户ve

2.4设置项目的用户权限

Properties Security Add 选择刚创建的用户 ve ok 应用 确认

三、创建测试服务器目录 D:\WWWROOT ,本地开发目录 D:\WORKDIR

四、将代码(D:\Code )导入到项目仓库

输入用户名 密码 并 勾选 保存认证

导入成功,并返回版本号1

五、导出项目代码到工作副本、测试服务器目录

同理,另外导出一份到测试服务器目录D:\WWWROOT (测试服务器的Apache目录指向该位置)

六、使用Hooks自动更新测试服务器代码D:\WWWROOT

6.1 进入 D:\SVN\wapzucom\hooks 建立 post-commit.bat 文件

编辑其内容 为"C:\Program Files\VisualSVN Server\bin\svn.exe" update "D:\www\test" --quiet --username name --password pwd

或者可参考下面这段话:

接下来最关键的一步是,我们需要找到服务器上安装的版本库的路径下面,以版本库名称命名的文件夹下,有一个名字为hooks的文件夹,在这个文件夹下建立post-commit.bat这样一个批处理文件,里面的内容如下:

@echo off

“D:\VisualSVN Server\bin\svn.exe” update “D:\Apache Software Foundation\Apache2.2\htdocs\soupei360″ _username XXXXX _password XXXXX

update前面的路径,是SVN服务器端程序的执行文件路径, 后面的是在服务器上同步到的目录的路径,username和password后面是刚才建立用户的用户名和密码,这段批处理的意思是,当我们在本地编写代码,然后通过svn的commit提交时候,首先提交到版本库中,然后版本库自动用这个批处理,把内容同步到服务器上之前指定的文件夹中,从而实现本地和远程同步 *** 作。

两款SVN配置软件的具体配置教程可以通过搜索引擎得到具体设置方法,在此需要特意强调的是,一定要将本地和服务器上的目录都check out后,批处理才能够自动同步,服务器上的目标文件夹没有check out的话,即使设置的路径正确,也是不能同步的。

6.2 设置访问权限

我的电脑 右键 管理 服务和应用程序 服务 VisualSVN Server 右键 属性 登陆 添加访问权限 用系统管理员账号(我这里是user)

重启服务器

6.3测试Hooks工作是否正常

修改 index.php 状态

提交修改

最后打开D:\WWWROOT\index.php 可以发现代码已经被成功update

PS : 目录说明

C:\Program Files\VisualSVN Server 服务器安装目录

D:\SVN 仓库更目录

D:\WORKDIR 本地开发用的工作目录

D:\WWWROOT 服务器测试目录(Apache 指向该目录,即可实现工作目录内容修改后提交到SVN自动发布到测试目录)


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/tougao/6046013.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-03-12
下一篇2023-03-12

发表评论

登录后才能评论

评论列表(0条)

    保存