将ubuntu设置为NAS——20.去中心化同步软件Syncthing同步文件

2022-02-20 11:14:17 19点赞 190收藏 17评论

前言

我的服务器上有些零散的文件和文件夹日常不注意备份,由于零散也不太容易统一备份,后来重装系统,部分文件没注意备份就丢失了,尤其是一些docker设置文件,Transmission和qBittorrent的种子文件就丢了,很是难过。这时候才想起来备份这些文件的重要性,采用网盘备份是个不错的主意,但零散的文件,个人认为可能用同步类软件可能是个更不错的办法,这里我选择了去中心化同步软件Syncthing。

1、Syncthing简介

Syncthing是一款开源免费跨平台的文件同步工具,基于P2P技术实现多个不同设备间的文件同步,它的同步是去中心化的,类似于bt下载的协议,参与同步的设备越多,同步的速度越快,一个设备文件丢失或损坏,也可以通过其他设备上文件同步过来。我就是看中其跨平台的特性,选中它,它既能在Ubuntu上安装,也能在windows上安装,也能安装在android手机进行多端同步,而且它可以不受互联网影响,只要有局域网就可以了。

2、在Ubuntu下安装Syncthing

老样子可以用putty软件SSH到自己的服务器,打开命令行进行安装,首先添加Syncthing软件的 PGP 密钥,验证软件正确性用的:

sudo curl -s -o /usr/share/keyrings/syncthing-archive-keyring.gpg https://syncthing.net/release-key.gpg

添加发布 PGP 密钥:

sudo curl -s -o /usr/share/keyrings/syncthing-archive-keyring.gpg https://syncthing.net/release-key.gpg

然后添加Syncthing“稳定版”官方软件源(每个月第一个星期二会更新):

echo "deb [signed-by=/usr/share/keyrings/syncthing-archive-keyring.gpg] https://apt.syncthing.net/ syncthing stable" | sudo tee /etc/apt/sources.list.d/syncthing.list

添加官方源添加官方源

添加官方源

最后命令行更新和安装syncthing就可以了

sudo apt update
sudo apt install syncthing

安装syncthing安装syncthing

安装syncthing

如果有什么错误提示,可能是网络问题,建议再次尝试。

3、Ubuntu下使用

安装成功后,先设置syncthing开机启动

sudo nano /etc/systemd/system/syncthing@.service

添加如下内容,内容来源syncthing的GitHub中目录 syncthing/etc/linux-systemd/system/syncthing@.service

[Unit]
Description=Syncthing - Open Source Continuous File Synchronization for %I
Documentation=man:syncthing(1)
After=network.target
StartLimitIntervalSec=60
StartLimitBurst=4

[Service]
User=%i
ExecStart=/usr/bin/syncthing serve --no-browser --no-restart --logflags=0
Restart=on-failure
RestartSec=1
SuccessExitStatus=3 4
RestartForceExitStatus=3 4

# Hardening
ProtectSystem=full
PrivateTmp=true
SystemCallArchitectures=native
MemoryDenyWriteExecute=true
NoNewPrivileges=true

[Install]
WantedBy=multi-user.target

将ubuntu设置为NAS——20.去中心化同步软件Syncthing同步文件

ctrl+o按Y保存后,ctrl+x退出

启用并启动服务。在以下内容之后将“myuser”替换为实际的 Syncthing 用户@:

systemctl enable syncthing@myuser.service
systemctl start syncthing@myuser.service

我为了方便有些高权限文件同步。直接用户名为root,命令就变成如下

systemctl enable syncthing@root.service
systemctl start syncthing@root.service

执行完2个命令后,syncthing就能开机启动了,同时此时也已启动了。

在Ubuntu服务器上的浏览器中输入http://127.0.0.1:8384,就能打开syncthing设置界面,但远程用同局域网其他电脑是暂时无法打开,即http://服务器IP:8384还无法打开,还需要修改设置才能远程设置。请注意下面的地址中的yang需要换成你的账户名,即上面“myuser”替换的实际用户名。

sudo nano ~/.config/syncthing/config.xml

找到127.0.0.1然后修改为0.0.0.0,如下截图,重启服务就可以从其他位置访问了

找到127.0.0.1然后修改为0.0.0.0找到127.0.0.1然后修改为0.0.0.0

找到127.0.0.1然后修改为0.0.0.0

systemctl restart syncthing@root.service #重启服务

然后就可以用自己的windows电脑打开ubuntu上的syncthing,用浏览器打开地址:Ubuntu服务器IP:8384,我这里地址是http://192.168.50.119:8384,就可以看到如下界面

浏览器界面浏览器界面

浏览器界面

接着就是设置syncthing

设置syncthing设置syncthing

设置syncthing

可以设置用户名及密码,如果没什么隐私也可以不设置

设置用户名及密码设置用户名及密码

设置用户名及密码

设置同步文件

选择需要同步的文件选择需要同步的文件

选择需要同步的文件

4、windows下安装及使用

同步必须要2个设备以上才行,只在Ubuntu是没意义的,接在在需要同步和备份的电脑上安装syncthing,我这里选择比较常用的windows电脑。windows下的syncthing客户端推荐SyncTrayzor,在github选择64位版本(我的个人PC是windows10 64位)安装。

将ubuntu设置为NAS——20.去中心化同步软件Syncthing同步文件

安装过程很简单,建议防火墙都同意

防火墙设置防火墙设置

防火墙设置

启动过程要等一下,启动成功后和在浏览器下的显示类似,多了后台日志显示。

win端界面win端界面

win端界面

先设置位中文

中文设置中文设置

中文设置

再添加远程ubuntu服务器,点击添加远程设备

添加远程设备添加远程设备

添加远程设备

可以看到远程的服务器的ID了,点击这一串数字字母后,保存。

可以发现远程设备可以发现远程设备

可以发现远程设备

就可以显示远程服务器了额

显示远程设备显示远程设备

显示远程设备

还需要在Ubuntu端下同意远程添加

Ubuntu端设置Ubuntu端设置

Ubuntu端设置

两端可以显示已连接了

已显示连接已显示连接

已显示连接

点击Ubuntu服务器要与win端同步的文件夹,点击此文件的选项

设置同步文件设置同步文件

设置同步文件

勾选win端电脑

勾选同步远程电脑勾选同步远程电脑

勾选同步远程电脑

确定后,设置win端同步文件所需要的路径就可,最后保存。

设置win端同步路径设置win端同步路径

设置win端同步路径

此时就可以在win端看到开始同步了

开始同步开始同步

开始同步

还有些高级应用,比如版本控制

高级功能高级功能

高级功能

华能设置接受和发送模式,可以只接受文件修改或只输出修改的文件,也可以传输加密

发送与接收设置发送与接收设置

发送与接收设置

总结

本文介绍了syncthing安装和使用,使用syncthing可以方便的在不同端设备间进行实时同步,同步速度也不错,且能实现高级版本控制灯高级功能,再也不用担心不小心错删文件导致文件丢失,安卓端的使用就不再赘述,大家自行安装体会吧。

作者声明本文无利益相关,欢迎值友理性交流,和谐讨论~

展开 收起

UGREEN 绿联 DX4600 Pro 4盘位NAS(奔腾N6005、8GB)

UGREEN 绿联 DX4600 Pro 4盘位NAS(奔腾N6005、8GB)

1849元起

ZSpace 极空间 私有云 Z4Pro 8G版 4盘位NAS存储(N97、8GB)

ZSpace 极空间 私有云 Z4Pro 8G版 4盘位NAS存储(N97、8GB)

2499元起

UGREEN 绿联 DX4600 四盘位NAS存储 (赛扬N5105、8GB)

UGREEN 绿联 DX4600 四盘位NAS存储 (赛扬N5105、8GB)

1749元起

ZSpace 极空间 私有云 Z4Pro 性能版 NAS存储(N305、16GB)

ZSpace 极空间 私有云 Z4Pro 性能版 NAS存储(N305、16GB)

3479.01元起

UGREEN 绿联 DX4600+ 4盘位NAS(赛扬N5105、8GB)

UGREEN 绿联 DX4600+ 4盘位NAS(赛扬N5105、8GB)

1999元起

ZSpace 极空间 私有云 Z423 旗舰版 8盘位NAS存储(锐龙R7-5825U、64GB)

ZSpace 极空间 私有云 Z423 旗舰版 8盘位NAS存储(锐龙R7-5825U、64GB)

5899元起

QNAP 威联通 TS-464C2 四盘位 NAS网络存储(赛扬N5095、8GB)黑色

QNAP 威联通 TS-464C2 四盘位 NAS网络存储(赛扬N5095、8GB)黑色

2582.5元起

Synology 群晖 DS224+ 双盘位NAS(赛扬J4125、2GB)

Synology 群晖 DS224+ 双盘位NAS(赛扬J4125、2GB)

2849元起

ZSpace 极空间 私有云 Z4Pro 16G版 4盘位NAS存储(N97、16GB)

ZSpace 极空间 私有云 Z4Pro 16G版 4盘位NAS存储(N97、16GB)

2644.05元起

QNAP 威联通 TS-466C 四盘位NAS(奔腾N6005、8GB)

QNAP 威联通 TS-466C 四盘位NAS(奔腾N6005、8GB)

3199元起

UGREEN 绿联 DH2600 双盘位NAS (N5105、4GB)

UGREEN 绿联 DH2600 双盘位NAS (N5105、4GB)

1349元起

Synology 群晖 DS220+ 2盘位NAS (赛扬J4025、2GB)

Synology 群晖 DS220+ 2盘位NAS (赛扬J4025、2GB)

2179元起

ZSpace 极空间 私有云Z2Pro 四核2盘位NAS家庭个人云网络存储服务器手机平板扩容适用iPhone15 水

ZSpace 极空间 私有云Z2Pro 四核2盘位NAS家庭个人云网络存储服务器手机平板扩容适用iPhone15 水

1299元起

TERRAMASTER 铁威马 F4-424 Pro 四盘位NAS(Intel Core i3、32GB)黑色

TERRAMASTER 铁威马 F4-424 Pro 四盘位NAS(Intel Core i3、32GB)黑色

2499元起

ZSpace 极空间 私有云 T2 2盘位NAS存储(RK 3568、4GB)

ZSpace 极空间 私有云 T2 2盘位NAS存储(RK 3568、4GB)

1699元起

sgwbox 拾光坞 N3 星光版V(瑞芯微RK3566,2G,支持docker)

sgwbox 拾光坞 N3 星光版V(瑞芯微RK3566,2G,支持docker)

387.78元起
17评论

  • 精彩
  • 最新
  • 我一直不太理解,说是去中心化。不还是得有一台设备在网。个人来说,就那么两三个设备,还都得关机。这个不关机的设备,不还是中心化。和有个群晖的driver没啥大区别。

    校验提示文案

    提交
    其实就是没有固定的中心服务器,大家都是中心,不会因为固定中心服务器挂了,导致同步失败。需要设备在线才能一直自动化同步,如果都关机的话,或始终只有一台在线,那这种热备份就没有意义了,就只能用移动硬盘冷备份。和其他自己搭建网盘类产品区别在于是否有中心服务器,但像我搭的nextcloud,必须要有个中心服务器,客户端才能同步,可以在多个平台安装客户端实现类似多平台同步功能,但没有了中心服务器,所有的客户端就都瘫痪了,而syncthing不会有这个问题。

    校验提示文案

    提交
    确实,这只能叫分布式存储,跟去中心化没有半毛钱关系,甚至比较核心的自动纠错都没有,属实流量密码

    校验提示文案

    提交
    还有9条回复
    收起所有回复
  • 微力同步好像简单点

    校验提示文案

    提交
  • syncthing和ubuntu nas又有啥关系?win也可以做啊,费劲部署ubuntu就为了syncthing?那太不划算了

    校验提示文案

    提交
  • ubuntu稳定 占用资源少

    校验提示文案

    提交
  • 非常好,就采用这种方案了。
    计划在NAS、win笔记本和lubuntu主机(废旧电脑改)之间同步数据,主要也是同步docker的挂载数据,废电脑不一定哪天就崩了,开机半年多也不坏。
    我准备用docker版的syncthing来实现。

    校验提示文案

    提交
  • 发现个问题,如果使用的root用户创建的服务,需要改这个文件/root/.config/syncthing/config.xml里的127.0.0.1为0.0.0.0才能打开 IP:8384

    校验提示文案

    提交
提示信息

取消
确认
评论举报

相关好价推荐
查看更多好价

相关文章推荐

更多精彩文章
更多精彩文章
最新文章 热门文章
190
扫一下,分享更方便,购买更轻松