将ubuntu设置为NAS——20.去中心化同步软件Syncthing同步文件
前言
我的服务器上有些零散的文件和文件夹日常不注意备份,由于零散也不太容易统一备份,后来重装系统,部分文件没注意备份就丢失了,尤其是一些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
如果有什么错误提示,可能是网络问题,建议再次尝试。
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
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
systemctl restart syncthing@root.service #重启服务
然后就可以用自己的windows电脑打开ubuntu上的syncthing,用浏览器打开地址:Ubuntu服务器IP:8384,我这里地址是http://192.168.50.119:8384,就可以看到如下界面
浏览器界面
接着就是设置syncthing
设置syncthing
可以设置用户名及密码,如果没什么隐私也可以不设置
设置用户名及密码
设置同步文件
选择需要同步的文件
4、windows下安装及使用
同步必须要2个设备以上才行,只在Ubuntu是没意义的,接在在需要同步和备份的电脑上安装syncthing,我这里选择比较常用的windows电脑。windows下的syncthing客户端推荐SyncTrayzor,在github选择64位版本(我的个人PC是windows10 64位)安装。
安装过程很简单,建议防火墙都同意
防火墙设置
启动过程要等一下,启动成功后和在浏览器下的显示类似,多了后台日志显示。
win端界面
先设置位中文
中文设置
再添加远程ubuntu服务器,点击添加远程设备
添加远程设备
可以看到远程的服务器的ID了,点击这一串数字字母后,保存。
可以发现远程设备
就可以显示远程服务器了额
显示远程设备
还需要在Ubuntu端下同意远程添加
Ubuntu端设置
两端可以显示已连接了
已显示连接
点击Ubuntu服务器要与win端同步的文件夹,点击此文件的选项
设置同步文件
勾选win端电脑
勾选同步远程电脑
确定后,设置win端同步文件所需要的路径就可,最后保存。
设置win端同步路径
此时就可以在win端看到开始同步了
开始同步
还有些高级应用,比如版本控制
高级功能
华能设置接受和发送模式,可以只接受文件修改或只输出修改的文件,也可以传输加密
发送与接收设置
总结
本文介绍了syncthing安装和使用,使用syncthing可以方便的在不同端设备间进行实时同步,同步速度也不错,且能实现高级版本控制灯高级功能,再也不用担心不小心错删文件导致文件丢失,安卓端的使用就不再赘述,大家自行安装体会吧。
作者声明本文无利益相关,欢迎值友理性交流,和谐讨论~
ccms
校验提示文案
我带你们打a
校验提示文案
OuchYoung
校验提示文案
杨彼得仙森
校验提示文案
值友4296863748
计划在NAS、win笔记本和lubuntu主机(废旧电脑改)之间同步数据,主要也是同步docker的挂载数据,废电脑不一定哪天就崩了,开机半年多也不坏。
我准备用docker版的syncthing来实现。
校验提示文案
南侯
校验提示文案
南侯
校验提示文案
值友4296863748
计划在NAS、win笔记本和lubuntu主机(废旧电脑改)之间同步数据,主要也是同步docker的挂载数据,废电脑不一定哪天就崩了,开机半年多也不坏。
我准备用docker版的syncthing来实现。
校验提示文案
杨彼得仙森
校验提示文案
OuchYoung
校验提示文案
ccms
校验提示文案
我带你们打a
校验提示文案