Syncthing实时共享同步数据 服务器数据备份软件(linux、windows)
前言
Syncthing是一个开源文件同步工具,可以在多台设备之间实时同步文件或文件夹。它可以帮助你自由地选择数据的存储位置、数据是否被第三方共享以及同步的数据如何在互联网上传输。
Syncthing使用P2P技术实现数据在设备间的同步,和传统的网盘不同,数据在同步的过程中并不会上传到某个云服务器上,而是直接在你所指定的几个设备之间传输,也只会存储于你所信任的本地设备,确保了隐私与安全;同时,Syncthing使用了类似torrent的协议,你用于同步的设备越多,数据的传输速度也就越快。支持公网与局域网搭建、支持单双向同步与历史版本控制。支持Android、Linux、Windows、Mac等系统,且服务器资源占用小。
一、Syncthing概述
Syncthing的主要功能是用来进行文件传输,我需要对多台不同系统的(windows,linux)服务器的数据进行备份,当前测试使用Syncthing来进行两台Centos7服务器数据备份,注意在不同服务器使用Syncthing时需要保持版本一致。
二、安装步骤
1.下载与安装
Syncthing官网:点击进入(https://syncthing.net/downloads/)使用版本 v1.23.7
上传下载的syncthing-linux-amd64-v1.23.7.tar.gz文件至Centos7服务器指定目录,解压并安装启动,启动后默认只支持本地使用127.0.0.1:8443访问。
- 创建syncthing文件
mkdir /home/syncthing
cd /home/syncthing
- 上传syncthing 并解压
tar -zxvf syncthing-linux-amd64-v1.23.7.tar.gz
- 进入syncthing安装目录
cd syncthing-linux-amd64-v1.23.7
- 临时启动syncthing ctrl+c退出程序
./syncthing
2.设置IP及修改端口
- 设置IP及访问端口
syncthing默认访问地址及端口为 127.0.0.1:8384
修改syncthing配置文件放开ip访问限制,syncthing默认仅支持本机访问web管理端
vim /root/.config/syncthing/config.xml (或者是vim /root/.local/syncthing/config.xml)
找到以下位置,将127.0.0.1:8384 修改成 [指定IP]:8384或0.0.0.0:8384,建议指定IP更安全
端口说明:
8384 (TCP)是Web访问控制端口
22000 (TCP) 是节点访问端口
21027 (UDP) 关于本地发现的端口
44647 (UDP)
37269 (UDP)
开放端口
#检测防火墙状态
systemctl status firewalld
#开启防火墙8384 、22000 tcp端口若防火墙禁用的请略过命令)
firewall-cmd --zone=public --add-port=8384/tcp --permanent
firewall-cmd --zone=public --add-port=22000/tcp --permanent
#开启防火墙21027、44647、37269 udp端口
firewall-cmd --zone=public --add-port=21027/udp --permanent
firewall-cmd --zone=public --add-port=44647/udp --permanent
firewall-cmd --zone=public --add-port=37269/udp --permanent
###(若只开放8384端口,后台访问正常,后续服务器之间连接同步数据,会连接失败。(只开放8384 22000 21027 测试也可以数据同步 22000 21027 端口修改待测试 ))
#重启防火墙
firewall-cmd --reload
- IP访问 192.168.31.117:8384 或自己修改的 IP:端口
syncthing安装目录 临时启动syncthing ctrl+c退出程序
./syncthing
3.后台启动及开机自启动
syncthing安装完成之后会在安装目录生成/etc目录,里面包含各个系统的开机自启动设置模板参数。我的Centos7服务器使用systemd服务管理器设置开机自启动。
- 修改配置文件
syncthing自带有syncthing@.service文件 在syncthing安装目录下的/etc/linux-systemd/system/
重命名syncthing@.service为syncthing@root.service(@后面改为当前系统登录的用户名,我是root用户登录,注意你的syncthing安装路径,在syncthing安装路径下查找文件)
将重命名的syncthing@root.service文件复制至/etc/systemd/system下
cp syncthing@root.service /etc/systemd/system/
切换目录至 /etc/systemd/system/
修改 syncthing@root.service配置文件内容
vim syncthing@root.service
将ExecStart 的路径修改为syncthing的安装路径
重启systemd服务,并将syncthing@root.service设置开机自启动
####重启systemd服务systemctl daemon-reload###将syncthing@root.service设置开机自启动systemctl enable /etc/systemd/system/syncthing@root.service###syncthing@root.service服务启动systemctl start syncthing@root.service###syncthing@root.service服务状态查看systemctl status syncthing@root.service###syncthing后台服务启动systemctl start syncthing@root.service