Raspberry pi 搭建 NAS (Syncthing)
再次搭建树莓派NAS
为什么又要折腾这个NAS呢?其实之前的Samba操作起来安装起来也是很方便的,只是对于中文使用不是很友好,另外Samba不能实时同步,这个另外很困恼,还有一些奇奇怪怪的bug,例如修改文件名/文件内容/上传文件/或者在树莓派复制文件,这些操作中只要又一个带有中文的,就会出现奇奇怪怪的错误.
例如重命名
暂时找不到解决方法.虽说现在服务器的项目,不涉及到任何中文的东西,但是既然它还充当一个云盘,那么我就让它也老老实实的做好上传的功能.于是乎我找到了Syncthing.
使用Syncthing原因,与安装
改用Syncthing当然是因为它是开源免费的软件,听说干起来也挺牛逼的,不知道能不能解决我中文的问题,至少在我写稿时候还没尝试,因为我主要是奔着它的实时同步功能去的.这是个媲美Resilio Sync这样的商业软件的.它也是利用P2P分布式技术,无需中心服务器,即可让多台设备互相实时同步文件,这样就能很好达到我最低要求.Syncthing代码源主页,自己查询需要的版本.
我这里选择的是syncthing-linux-arm-v1.7.1.tar.gz
于是乎开工吧
# 我在临时文件夹操作
cd /tmp
wget https://github.com/syncthing/syncthing/releases/download/v1.7.1/syncthing-linux-arm-v1.7.1.tar.gz
tar xzvf syncthing-linux-arm-v1.7.1.tar.gz
cd syncthing-linux-arm-v1.7.1/
# 把syncthing复制出去就可以直接使用syncthing命令了
sudo cp syncthing /usr/local/bin
# 把[email protected]复制到桌面备用,如果不需要开机自启动的话也可以忽略
cp /tmp/syncthing-linux-arm-v1.7.1/etc/linux-systemd/system/[email protected] ~/Desktop/
配置与使用
# 使用就是直接输入
syncthing
于是出现
按需选择吧!我无所谓,选择了是.
回到原来的LX终端+关闭服务.
# 配置syncthing
sudo nano ~/.config/syncthing/config.xml
# 如果你不是树莓派系统或者用其他用户安装的话,请将~改为/root/ (这里是root用户)
然后一直滚下去找到
< gui enabled="true" tls="false" debugging="false" >
< address >127.0.0.1:8384< /address >
< apikey >*****************************< /apikey >
< theme >default< /theme >
< /gui >
把127.0.0.1,改为0.0.0.0,保存后启动syncthing 那么你就可以在其他系统适用浏览器打开GUI界面了.例如浏览器访问192.168.1.100:8384,ip地址加端口.
无论你用哪种方式去配置,现在都可以统一用UI界面操作了.
用浏览器打开,按照下图操作
修改密码
服务器端的设置基本完成,你需要修改同步目录啥的,就在设置里面去继续设置,(下图是默认路径的设置)
万事具备,只欠客户端.
同样在Syncthing的github代码源主页下载,同样我这里还是选择1.7.1版本的.本人穷b一个,没钱买mac只有window,下面就介绍window的,拉到1.7.1下面找到window版本的zip下载
解压缩后就能运行了.
当然,众多大神都说,用SyncTrayzor作为客户端会更好,我也不例外,也用SyncTrayzor点击下载
配置同步
接下来就是麻烦的地方了...你需要配置服务器端的跟本地的那些文件需要同步.先登陆刚才配置的服务端syncthing,操作
->显示id
复制id识别码
然后打开本地的SyncTrayzor,点击添加远程设备
添加远程设备ID
点击共享
选项卡
勾选作为中介
和自动接受
,然后保存
这时候,服务器端就会要求确认添加设备操作确认即刻
然后就会显示已连接提示
两台机器同步之后就开始设置同步的文件夹了.两边的操作基本一样.添加文件夹
两边的文件ID必须是一致,才能实施同步功能
开机启动
相信很多人都发现同步这个东西,只要终端断开了,那么树莓派的服务就结束了,那么很难保证服务器的重启后的同步问题,于是我们需要设置它开机自启.
systemd的方式启动
如果你看到这里有按照我之前安装的时候说的复制了文件到桌面的话,现在就可以拿来启动了
先修改文件
sudo nano Desktop/[email protected]
ExecStart=/usr/bin/syncthing
#改为
ExecStart=/usr/local/bin/syncthing
修改后移动文件
sudo mv ~/Desktop/[email protected] /etc/systemd/system/[email protected]
然后启动服务(这里我用用户名pi启动服务.最好不要用root,你也可以新建一个用户去启动)
systemctl start [email protected]
选择pi用户,输入密码
打开浏览器看看能否连接成功
然后设置开机自启动
systemctl ensable [email protected]
同样操作,基本上一样,检测能否成功,重启一下树莓派.
其他操作
# 启动syncthing
systemctl start [email protected]
# 查看syncthing运行状态
systemctl status [email protected]
# 停止syncthing
systemctl stop [email protected]
# 设置syncthing开机自启
systemctl enable [email protected]
# 关闭syncthing开机自启
systemctl disable [email protected]
好了完成了,其他平台的操作大同小异,自己摸索.刚刚试了一下Android版本的,也差不多操作.
完成!撒花!