当前位置:网站首页>Syncthing文件同步方案完全攻略(亲测有效)
Syncthing文件同步方案完全攻略(亲测有效)
2022-08-02 03:26:00 【rockage】
云同步方案有很多种,比如 Seafile 和 Nextcloud,这两者都是正儿八经的云盘,功能多,体型庞大,部署起来很麻烦,如果应用场景仅仅是需要同步一下公司电脑和家里电脑的文档,犯不上用这两者。
Syncthing不是云盘,它就是一个同步器,可以让你在公司没干完的活同步到家里的电脑里继续完成,假如家中PC或者公司PC其中一台能保持长期在线不关机的话,甚至可以省略通过VPS服务器中转这个环节。比较轻量,部署简单,关键是传输速度比前两者快。
1、在服务器上安装Syncthing
输入:
cat /proc/version
查看系统版本(经查为64位)
访问: https://syncthing.net/downloads/
下载安装64位 Linux版:wget https://github.com/syncthing/syncthing/releases/download/v1.8.0/syncthing-linux-amd64-v1.8.0.tar.gz tar zxf syncthing-linux* cd syncthing-linux* cp syncthing /usr/local/bin syncthing
当出现INFO: Detected 0 NAT services的时候,按CTRL+C退出程序
编辑文档:nano /root/.config/syncthing/config.xml
搜索:127.0.0.1:8384 改为 0.0.0.0:8384
存盘退出。
输入:syncthing
(运行Syncthing)
不要按CTRL+C退出,直接去浏览器访问http://mysite.com:8384 (mysite.com换成你的域名或IP)
在这个WEB UI里设置密码、共享文件夹等(系统会默认一个/root/Sync)
基本设置完毕之后,可以在服务器这边按下CTRL+C键,中止suncthing运行。
2、设置后台运行
方法一:
如果你安装了crontab,可以让它在每次系统重启后自动执行一次syncthing:crontab -e 加一行: @reboot nohup /usr/local/bin/syncthing &> /dev/null &
方法二:
按照“正统”的做法,将Syncthing设为一个服务来自动运行:开机启动脚本在这个位置:
/安装包解压路径/syncthing-linux-amd64-v1.8.0/etc/linux-systemd/system
将这个文件拷贝到系统服务里(PS: 本例是在 /root/syncthing下解压的安装包):cp /root/syncthing/syncthing-linux-amd64-v1.8.0/etc/linux-systemd/system/[email protected] /usr/lib/systemd/system/[email protected]
编辑文档:
nano /usr/lib/systemd/system/[email protected]
将: ExecStart=/usr/bin/syncthing -no-browser -no-restart -logflags=0 改为: ExecStart=/usr/local/bin/syncthing -no-browser -no-restart -logflags=0
存盘退出。
让设置生效:systemctl daemon-reload
systemctl restart [email protected]
(启动服务)systemctl enable [email protected]
(设为开机启动)
至此服务器端Sything安装完毕。
3、Windows篇
使用 SyncTrayzor
下载SyncTrayzor:https://github.com/canton7/SyncTrayzor/releases/tag/v1.1.24
这是一个GUI程序,BUG多,不太好用,感兴趣的请自行研究。不使用 SyncTrayzor
此方案只需要额外编辑一个批处理文件,比较轻量,感觉比SyncTrayzor好使,推荐。
第一步,将Sync默认配置文件和数据库拷贝到其他地方:
C:\Users\rocka\AppData\Local\Syncthing
比如D:\SyncRoot新建一个批处理文件:
@ECHO OFF %1 start mshta vbscript:createobject("wscript.shell").run("""%~0"" ::",0)(window.close)&&exit start /b syncthing.exe -config="D:\SyncRoot\Syncthing.conf" -data="D:\SyncRoot\Syncthing.conf\index-v0.14.0.db" -no-browser
存盘退出。
再将这个bat文件设为自启动即可,
如果需要进入WEB管理界面,浏览器访问:http://127.0.0.1:8384
4、共享文件夹设置技巧
- 现有3个结点:【家PC】、【公司PC】、【VPS】
- 首先登录【VPS】的WEB管理界面,添加一个共享文件夹(比如/root/Sync,PS: 这是系统已经默认帮你添加好的)
- 然后点击界面右上角的小齿轮按钮 > 显示ID > ID是一个64位长的字符串 (记录下来备用)
- 回到【家PC】的WEB管理界面,添加一个远程设备,输入刚才记录下来的ID (也就是VPS的设备ID)
- 稍等一下,切换回【VPS】管理界面,会弹出一个窗口,询问你是否要将Sync文件夹共享给【家PC】,选择"接受"
- 切换回【家PC】,会弹出一个窗口,询问是否接受VPS共享给你的文件夹,选择接受
第一步:此时系统会自动默认~/default 作为物理存储位置,~ 即Linux下的"HOME"目录,在Windows下即"C:\用户",如果你想换一个文件夹作为存储位置,比如你想存在D:\Sync下面,则在【文件夹路径】下面输入D:\Sync (PS:虽然输入框是灰色的,但是不要误认为它不能输入),然后【文件夹ID】要跟VPS上的文件夹ID一致(默认为default)
第二步:点开【共享】标签,在 “当前设备已共享” 下面在你的VPS设备上打勾即可。
- 现在,【VPS】上的/root/Sync 和【家PC】的 D:\Sync 这两个文件夹就完成了同步。
- 依葫芦画瓢,按照同样的办法将【公司PC】和【VPS】也设置一遍
- 现在,这三个结点就同步完成了,因为【VPS】是永不关机的,以它为中转,变相实现了【家PC】和【公司PC】的文档同步。
5、常见问题
进入管理UI的时候,总是报错:failed to setup inotify handler.
解决方案:
登录服务器,编辑文档:nano /etc/sysctl.conf
加一行:fs.inotify.max_user_watches=204800
重启服务器即可。Windows端报错:WARNING: Failed to initialize config: Config file version (31) is newer than supported version (29). If this is expected
解决方案:
去官网下载最新版的syncthing.exe,拷贝到:D:\SyncRoot\ 里即可各种设置都OK了,但是在同步的时候卡住不动怎么办?
设置一下D:\Sync文件夹的权限,让本机USER对它有全部读写权限即可。
边栏推荐
- hackmyvm: kitty walkthrough
- Offensive and defensive world - novice MISC area 1-12
- 攻防世界—MISC 新手区1-12
- 不懂“赚钱逻辑”,你永远都是社会最底层(广告电商)
- CTF-网鼎杯往届题目
- C language uses stack to calculate infix expressions
- WeChat applet development video loading: [Rendering layer network layer error] Failed to load media
- cmake安装到指定目录
- (1) print()函数、转义字符、二进制与字符编码 、变量、数据类型、input()函数、运算符
- 4. PHP array and array sorting
猜你喜欢
随机推荐
Kali环境下Frida编写脚本智能提示
The focus of the Dom implementation input triggers
cmake安装到指定目录
CTF-网鼎杯往届题目
GreenOptic: 1 vulnhub walkthrough
(1) the print () function, escape character, binary and character encoding, variables, data type, the input () function, operator
By figure, a (complete code at the end)
file contains vulnerabilities
云安全笔记:云原生全链路加密
成本会计的概念、产品成本核算的要求、产品成本核算的对象与成本项目、产品成本的归集和分配(可能考判断)、产品成本计算方法 (三种:产品的品种(品种法),批次(分批法),步骤(分步法))
(4) Function, Bug, Class and Object, Encapsulation, Inheritance, Polymorphism, Copy
ES6 three-dot operator, array method, string extension method
ES6 array extension methods map, filter, reduce, fill and array traversal for…in for…of arr.forEach
(3) string
Phonebook
重点考:金融资产概述、交易性金融资产的概念、交易性金融资产的账务处理(取得、持有。出售)、
账务处理程序、记账凭证账务处理程序、汇总记账凭证账务处理程序、科目汇总表账务处理程序、会计信息化概述、信息化环境下会计账务处理的基本要求(此章出1道小题)
PHP realizes the automatic reverse search prompt of the search box
The shooting range that web penetration must play - DVWA shooting range 1 (centos8.2+phpstudy installation environment)
Mysql创建索引