当前位置:网站首页>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-reloadsystemctl 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对它有全部读写权限即可。
边栏推荐
- MOMENTUM: 2 vulnhub walkthrough
- 借贷记账法下的账户结构、借贷记账法的记账规则、借贷记账法下的账户对应关系与会计分录
- uniapp | Problems with the use of the official map component
- 元宇宙是一个炒作的科幻概念,还是互联网发展的下半场?
- SQL注入(7)
- 政府会计的概念、政府会计标准体系、政府会计的特点(会形成小考点)、政府会计要素及其确认和计量、政府预算会计要素、政府财务会计要素
- ES6 iterator explanation example
- CTF入门之md5
- [sebastian/diff] A historical change extension library for comparing two texts
- 什么是广告电商商业模式?这几个门派告诉你
猜你喜欢

什么是广告电商商业模式?这几个门派告诉你

VIKINGS: 1 vulnhub walkthrough

CTF-Neting Cup Past Topics

VIKINGS: 1 vulnhub walkthrough

Eric target penetration test complete tutorial

(3) 字符串

hackmyvm-bunny walkthrough

How to calculate the distance between two points on the earth (with formula derivation)

(5) Modules and packages, encoding formats, file operations, directory operations

CTF之xxe
随机推荐
阿里云MySQL5.7安装以及部分主要问题(总和)
Solve the problem of Zlibrary stuck/can't find the domain name/reached the limit, the latest address of Zlibrary
重点考:从债劵的角度来看交易性金融资产
ES6 three-dot operator, array method, string extension method
Praying: 1 vulnhub walkthrough
CTF之xxe
hackmyvm: controller walkthrough
Turn trendsoft/capital amount of Chinese capital library
[campo/random-user-agent] Randomly fake your User-Agent
The CTF introduction of PHP file contains
同态加密:CKKS原理之旋转(Rotation)
Shuriken: 1 vulnhub walkthrough
WeChat applet development video loading: [Rendering layer network layer error] Failed to load media
真·杂项:资本论阅读笔记(随缘更新)
CTF-网鼎杯往届题目
加密数字货币前传:从大卫·乔姆到中本聪
hackmyvm: may walkthrough
Introduction to PHP (self-study notes)
The roll call system and array elements find maximum and minimum values for sorting of objects
uniapp | Compilation error after updating with npm update