c 替代品用教程R器 8数据同步神hing使

 

简介

Syncthing是一个开源免费的数据同步神器,被称为 Resilio Sync 的替代品,支持AndroidLinuxWindowsMac OS X等系统,可以使我们在2台任何系统任何设备之间,实现文件实时同步,很强大。而且数据很安全,不会存储在你的设备以外的其他地方。所有通信都使用TLS进行保护。所使用的加密包括完美的前向保密,以防止窃听者获得对您的数据的访问权限。很适合我们用来搭建私有同步网盘。

安装

本文只做Linux VPS服务器与Windows电脑之间的同步安装及演示操作。Syncthing官网:点击进入,软件自行下载最新版本即可。

1、VPS安装Syncthing
安装Syncthing

#目前最新版v1.2.0,日后自行修改版本号wget https://github.com/syncthing/syncthing/releases/download/v1.2.0/syncthing-linux-amd64-v1.2.0.tar.gztar xzvf syncthing-linux-amd64-v1.2.0.tar.gzcp syncthing-linux-amd64-v1.2.0/syncthing /usr/local/bin

开放端口

Syncthing 默认监听以下几个端口

22000 (TCP)8384 (TCP)21027 (UDP)44647 (UDP)37269 (UDP)

这里我是个人使用,所以只开放 22000 (TCP) 与 8384 (TCP)

端口说明:

8384 是Web访问控制端口22000 是节点访问端口

开启Syncthing

syncthing

第一次启动会生成配置,然后给的内网地址我们是进不去的,这时候需要修改成外网地址才行(没有外网地址? -> LanProxy端口映射了解一下),先使用Ctrl+C退出。然后编辑/root/.config/syncthing/config.xml文件,将127.0.0.1:8384改成0.0.0.0:8384即可,可以直接使用命令:

sed -i 's/127.0.0.1/0.0.0.0/g' '/root/.config/syncthing/config.xml'

再次启动Syncthing

syncthing

然后在浏览器访问http://IP:8384,就可以进入Syncthing界面,如果打不开请自行开放8384端口。

# 例如放行8384端口,防火墙设置/sbin/iptables -I INPUT -p tcp --dport 8384 -j ACCEPT/etc/init.d/iptables saveservice iptables restart 

1857458766

然后我们点设置,填好管理用户、密码及其它参数再重启Syncthing即可。

2404473417

如果不需要p2p进行分享,也就是不需要进行中转,那么可以将启用 NAT遍历 和 全球发现 进行关闭。但是在服务端与客户端之间,有一方的ip必须是公网。

1021194022

2、Windows安装Syncthing

Win系统安装Syncthing是非常简单的,直接从官方网站下载对应版本的Syncthing程序,解压打开syncthing.exe,然后会弹出一个窗口,浏览器再打开http://127.0.0.1:8384就可以进入并使用Syncthing了,默认文件夹路径为C:\Users\Administrator\Sync

使用

首先打开其中一个设备的Syncthing界面,并点击右上角操作-显示ID获取设备ID。再到另一个设备的Syncthing界面,点击右下角添加远程设备,输入需要同步的设备ID和共享的文件夹。看个人需求决定是否要进行高级配置(选填),如果是私人用,不想加入公共的节点,那么就点击高级 找到 地址列表 将 dynamic 填写为 tcp://服务器ip:22000(防火墙记得放行22000端口)

2500668895

这时候另一台设备会弹出一个窗口,点击添加设备即可。

1092591968

此时设备添加完成,就可以开始同步文件夹了,也可以在其中一台设备新建/添加其它文件夹

 

进行必要的文件共享设置

2544874713

然后同样的,另一台设备也会弹出一个窗口,点击同意添加即可。

2415920307

最后等待片刻,所添加的文件夹都会自动同步完成。

2439408315

如果希望Syncthing在后台运行可以使用nohup命令来实现:

nohup syncthing &> /dev/null &

更多功能请自行摸索,注意设备删掉Syncthing后,同步的文件夹依然存在。

开机启动

此方法适用于任何发行版(Arch,Debian,Linux Mint,Ubuntu,openSUSE),关于windows和macOS系统设置开机启动的方法,详见 ->官方文档

Debian/Ubuntu
设置系统服务创建开机启动,此方法适用于 Debian9+/Ubuntu16.04+

#从源包内复制cp syncthing-linux-amd64-v1.2.0/etc/linux-systemd/system/syncthing@.service /etc/systemd/system/#将root替换为root用户执行mv /etc/systemd/system/syncthing@.service /etc/systemd/system/syncthing@root.service

使用命令:

#添加开机启动systemctl enable syncthing@root.service#启动syncthing服务systemctl start syncthing@root.service

CentOS6/7

需要注意的是,Centos7下请使用原syncthing包内etc文件夹中的linux-systemd或者linux-upstart作为启动脚本,Centos6我建议使用supervisor作为运行控制:

安装Supervisor

yum install python-setuptools -yeasy_install supervisorecho_supervisord_conf > /etc/supervisord.confecho "supervisord" >> /etc/rc.local     //开机启动supervisor

/etc/supervisord.conf 最后添加如下内容,然后启动(运行supervisord)或者重启supervisor (supervisorctl reload)

[program:syncthing]command=/usr/local/bin/syncthingautostart=trueautorestart=trueuser=rootredirect_stderr=truestdout_logfile=/var/log/syncthing.log
上一篇:豆腐最好吃的5种做法,营养开胃又解馋,天天吃不腻,全家抢着吃
下一篇:在家这样熬制糖水,浓稠丝滑又清甜,做法超简单,一看就会