想把上线 linux 用于生产的服务器的某个文件夹 与 本地公司部门服务器也是 linux 的进行实时同步,有什么办法?

2016-03-04 02:13:39 +08:00
 gzelvis
目的是这样的,在本地公司做一个 100% 与服务器同样的环境,进行模拟调试或备份,因此最好能实现与生产服务器同时备份(就是源服务器多了什么文件本地立刻就开始同步),就算不能实时同步,否做个 cron 命令每天晚上进行文件夹同步。其它文件夹都好说,关键是图片目录, discuz 的图片目录那如繁星般的文件如果用差一点的 ftp 软件光 list 都会死机的。。。

不知道各位有没有什么办法, 两边环境都是 linux
5065 次点击
所在节点    Linux
32 条回复
msg7086
2016-03-04 22:16:24 +08:00
rsync 毫无压力啊。我们论坛 Discuz 附件 20 多万个文件同步起来飞快的。
gzelvis
2016-03-05 01:10:15 +08:00
@msg7086 具体是怎么做的?还望赐教 。我指具体的命令
msg7086
2016-03-05 02:01:48 +08:00
@gzelvis
比如说生产服务器位于 a.b.c.d ,文件位于 /var/www/bbs/;
本地测试用服务器位于 r.s.t.u ,文件也位于 /var/www/bbs/。
现在你站在本地服务器上,那么可以用 rsync a.b.c.d:/var/www/bbs /var/www -a 来从生产机上拉数据。
反过来,如果你站在生产服务器上,那么可以用 rsync /var/www/bbs r.s.t.u:/var/www -a 来向本地机器推送数据。

如果从外往内推数据的话,需要你这边能从公网访问。

上面说的 inotify 实时推送,就是生产服务器上每次拿到文件新增的消息以后,把路径填进 rsync 的命令行里,实时同步传送。
如果对实时性要求不高的话,定时推送我觉得是足够了。
gzelvis
2016-03-05 02:23:25 +08:00
@msg7086 非常感谢你那么耐心的回答,想问下定时推送是设定 cron 每天做一次吗?能否把这个命令行也告诉我?再次感谢
gzelvis
2016-03-05 02:24:02 +08:00
@msg7086 像论坛的现在没那么多人了,估计就设定每天半夜 3 点跑一次同步应该就好了
cevincheung
2016-03-05 02:27:21 +08:00
哎呀我去……这不是说 ipfs 呢么
msg7086
2016-03-05 02:33:04 +08:00
@gzelvis 你可以搜索一下 crontab 的编辑方法。
只要一次同步成功以后,把相同的命令写进 crontab 的命令区就行了。
无密码登录可以搜索 SSH 密钥登录。
gzelvis
2016-03-05 02:34:20 +08:00
@msg7086 好的我先试试
allan888
2016-03-05 06:18:26 +08:00
感觉太麻烦了, btsync 我觉得是最简单的。
本地的机器和服务器同步,然后本地设置成不能删除的模式。
julor
2016-03-05 07:07:12 +08:00
可以试试开源的 syncthing ,记得在服务器上设置为 master 模式
qgb
2016-03-14 06:34:22 +08:00
@cevincheung what ?
cevincheung
2016-03-14 17:17:44 +08:00
@qgb ipfs p2p file share. 可以订阅节点。互相同步数据。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/260966

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX