为了不使用网盘进行数据同步,我采用了Syncthing工具和FreeFileSync相结合的办法,Syncthing用于局域网内ubuntu 18和windows 10自动在线同步,FreeFileSync用于手动将文件备份到机械硬盘。
FreeFileSync给我的感觉更像是一个增强版的copy软件,可以进行比较和同步,而Syncthing更像是云盘,可以进行实时同步,而Syncthing是P2P的,不会经过第三方。
Syncthing官网关于windows有两个版本,带GUI的和不带GUI的,带GUI的有绿色版和安装版两个版本,不带GUI的是绿色版本,只能通过浏览器访问。这篇文章教大家如何用不带GUI的版本实现开机启动。
下载完命令行版本的文件夹长这个样子:
正常的话双击syncthing就可以运行了,但是缺点是无法后台、无法开机自启动。
查阅这个网址:https://blog.csdn.net/csdnliuxin123524/article/details/78949803,博主给了一个示例代码:
@echo off
start "wumin" "C:\Windows\System32\cmd.exe"
netsh wlan start hostednetwork
taskkill /f /im cmd.exe
exit
但是这个代码并不合适,原因是启动syncthing时往往需要指定参数:IP及端口、不要打开浏览器等等。一般讲这三个就够了:-no-restart、-gui-address="" 、-no-browser,意思分别是如果已经开启了一个不要反复尝试,指定浏览器IP地址以及端口,不要自动开启浏览器。
然后查到这篇文章:https://blog.csdn.net/weixin_38601426/article/details/84887275,代码是:
@echo off
path = %path%;.\..\bin\;
MyEXE.exe 参数1 参数2 参数3
pause
每一行代码意义博主有讲,我实际测试下来只需要中间两行即可:
path = E:\sync\syncthing-windows-amd64-v1.7.1-with-auto-start
syncthing.exe -gui-address="127.0.0.1:8384" -no-restart -no-browser
这样确实可以实现功能,但是无法开机后台自启动,然后再参考这篇文章:https://blog.csdn.net/linxinfa/article/details/88633883?utm_medium=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-1.edu_weight&depth_1-utm_source=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-1.edu_weight,做了一个vbs脚本,放在C:\Users\你的账户名\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup文件夹中就可以啦。
vbs脚本内容是:
set ws=WScript.CreateObject("WScript.Shell")
ws.Run "E:\sync\syncthing-windows-amd64-v1.7.1-with-auto-start\syncthing.bat /start",0
0是后台的意思。