坚果云用了有两三年的时间,也用爽了,免费版不限空间,但限制流量(每个月1G上传,3G下载)有多个系统版本可供下载,同步根据文件夹来同步,不管小文件、大文件的同步,都很有效率,但是最近随着需要同步的内容越来越多,发现时常见到坚果云一直在扫描、分析,比较耗费时间,当然还有另外一个选择,面对企业用的亿方云,也是挺好用的。不想折腾的可以考虑用这两个软件之一来用作文件NAS(受限于免费版的空间与流量,都不适合当作媒体NAS,但是适合做文档、代码NAS)。
基于目前的收入≈生存支出的尴尬情景,还未能实现真正的黄焖鸡自由,暂且忍住不买专业版,恰逢发现了 syncthing ,感觉有种相见恨晚,syncthing 是一个开源的云端同步工具,源码/release版本都可以在github上下载下来。这里是 syncthing 的 github 下载页面
现在需要将两台电脑连接起来 ,此处两电脑是处于 非内网 (公网)连接。
随便一台电脑选择添加远程设备,这里就选用家里的电脑去添加远端电脑。
首先在远端电脑,选择 Web UI 右上方的 操作,显示 ID
复制图片红框内ID号 在家里的电脑,添加远程设备,输入远端电脑的 设备ID 这里说下第二个栏目,“共享”,有三个设置项 作为中介:如果已经在2台设备上已经有同步的文件(或建立连接)。那么在添加第三个设备的时候勾选了作为中介,这个时候,新添加的设备就会将所有的“除自己外”的设备都添加到他自身的“远程设备”里。(有点拗口,可以自己感受下) 自动接收:不建议勾选,因为不是每一个同步的文件夹,都想要接接收下来,将主动权放在自己手上,有新文件夹同步时,在确认是否添加,若不想每次手动选择,也可以将这个勾选上。 共享指定文件夹:就是大家约定共享的默认文件夹,可以不勾,自己添加想要共享的文件夹。 点击保存,此时,在远端设备上,会弹出一个确认的消息框,(会根据网络情况,有所延时,可以刷新一下)点击 “添加设备” 到了这一步,就可以选择一个共享文件夹了,点击添加文件夹,填上想要共享的文件夹。 选择共享,勾选想要共享的设备(这里需要勾选远端的电脑,才能将文件同步过去),版本控制按照需要来选,若是存放音视频文件,可以不用勾选,若是存放文档、代码等可迭代修改的,建议选择版本控制。 同样,在远端电脑的 Web UI 会弹出一个提示框,同步该文件夹就勾选添加,选择路径,不想同步就直接点忽略。 测试同步效果选用树莓派的主要原因有:
(1)这块树莓派处于吃灰的边缘,需要好好利用起来;
(2)功耗低(租房电费1.3/度,长期运行必须考虑功耗),考虑到网速关系,决定将树莓派放在家里,家里的电脑与树莓派在局域网的同步较快,同步到远端可以等树莓派慢慢同步(补充:后面测了下功耗,是真的很低,闲时挂机 5V 0.26A 1.3W,有同步任务时 5V 0.67A 3.35W,拿个5V1A的闲置手机充电头给树莓派供电,妥妥的)。
(3)没有旧电脑,有的话就会选择黑群晖了,也相当于免费(等现在这台退休就有了)。
下图是配置完成后,继续丢角落头24H带电吃灰的树莓派(外壳还在路上- -。)
好了废话不多说,开始正文。
首先,要安装好树莓派系统,可以参考我的博文来手把手教你烧录树莓派系统,并且完成基本配置。——> 树莓派——完整烧录及配置过程(超详细)<—— 查看树莓派系统位数,返回值就是系统位数。getconf LONG_BIT
mkdir ~/syncthing
cd ~/syncthing
wget https://github.com/syncthing/syncthing/releases/download/v1.4.2-rc.1/syncthing-openbsd-arm-v1.4.2-rc.1.tar.gz
(如果树莓派下载太慢的话,可以在电脑下载好,用ssh传过去)
执行解压命令,增加执行权限,并运行一次(运行后才能生成配置文件)tar -zxvf syncthing-linux-arm-v1.4.2-rc.1.tar.gz
cd syncthing-linux-arm-v1.4.2-rc.1/
chmod +x syncthing
./syncthing
运行信息如下:sudo nano /home/pi/.config/syncthing/config.xml
重新运行 syncthing./syncthing
在电脑端浏览器输入 树莓派ip:8384 访问 WEB UI 界面
按照提示,需要修改密码,点击设置,选择“图形用户界面”,输入用户名和密码,为了方便记忆,可以直接用树莓派的用户名和密码就行。
如果你有公网IP(或部署到云服务器),或只需要在内网操作,那么可以将连接选项里 启用NAT遍历 和 全球发现 关闭,如果想接入外网,通过外网进行同步,又没有固定公网IP,那么需要将这两个选项打开
保存后需要重新连接登陆 pi 的 syncthing 网页,输入账号密码登陆即可回到之前页面。
OK,完成设置后,可以根据上一节的方法来对树莓派进行相同的设置,直到同步成功。
好了,来到这一步,需要在之前的基础上,修改一下同步的路径(数据同步的方向),由于树莓派是24H不间断运行,因此就用它来做同步的主NAS(即树莓派上的内容,会一直保持最新),此时我们需要断开设备间的同步。操作步骤如下:在下一篇文章里《手把手教你搭建入门级免费私有云盘NAS——基于syncthing——扩展篇》将展示如何利用云服务器,搭建专用共享网络,来替代全球发现,提高同步的速率。
最终的拓扑图如下:
下述纯粹是个人使用感受,不属于工具好坏的比较(工具都是好用的)
SVN 的方法比较适合不同项目,不同版本,但是功能已经较为完善的代码或文档来同步。 GIT 与 SVN实际使用起来类似,也是需要commit-push操作才能同步,与svn比起来却要方便一些,也好用一些。 NAS 代码同步,对于小型项目的文件、学习过程中随时敲打的代码、未能形成版本的零碎源码文件、突发奇想临时写出来的文件,甚至是觉得好笑的段子/小片子,等等都可以同步到NAS,并且在其他设备上可以随时查看与编辑,关键是这么好用还不限量不限速不收费! 总结:所以三种方法都各有好处与用途,对于需要以项目来区分并控制版本的,我会选用SVN/GIT,对零碎个人文件、不需要严格版本控制的同步临时代码文件、音视频及图片、我会选用NAS同步。 五、适用于个人该文章分享的方法适用于个人/家庭的文件同步,如果多人协作的代码/文档开发,请选用svn或git,不然文件冲突不好处理。这里是默认了只有一个人在使用文件时,不会在2台以上设备同时打开并写一个文件的情况。
举个栗子,就是你在公司写的文档,走之前保存关闭,回到家能够打开能够继续在公司离开前的编辑,同样第二天到公司后,能够继续昨晚在家睡觉前的编辑。而当然你不会在同一时间在家和公司编辑同一文件,这样会有文件冲突,就需要先同步一份(其实git同理也是如此,只不过不用手动push)。
至此,一个入门级免费个人私有云盘NAS已经搭建完毕。已经足以应对日常使用,更多的高级使用技巧请参考下文
《手把手教你搭建入门级免费私有云盘NAS——基于syncthing——扩展篇》