云同步方案有很多种,比如 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/syncthing@.service /usr/lib/systemd/system/syncthing@root.service

    编辑文档:nano /usr/lib/systemd/system/syncthing@root.service

    将:
    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 syncthing@root (启动服务)
    systemctl enable syncthing@root (设为开机启动)
    至此服务器端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、常见问题

  1. 进入管理UI的时候,总是报错:failed to setup inotify handler.
    解决方案:
    登录服务器,编辑文档:nano /etc/sysctl.conf
    加一行:
    fs.inotify.max_user_watches=204800
    重启服务器即可。

  2. Windows端报错:WARNING: Failed to initialize config: Config file version (31) is newer than supported version (29). If this is expected
    解决方案:
    去官网下载最新版的syncthing.exe,拷贝到:D:\SyncRoot\ 里即可

  3. 各种设置都OK了,但是在同步的时候卡住不动怎么办?
    设置一下D:\Sync文件夹的权限,让本机USER对它有全部读写权限即可。

Syncthing文件同步方案完全攻略(亲测有效)相关推荐

  1. 怎么将html导入trados,将翻译过的文件导入trados全攻略-WinAlign 操作手册

    将翻译过的文件导入trados全攻略 WinAlign 操作手册 WinAlign 操作手册 1. 用WinAlign 1.1 设置项目 请从"开始à程序àTRADOS 5 Applicat ...

  2. 微信windows版_Windows也可以安逸的无缝同步文件--从Mac OS 转战到Windows后的文件同步方案...

    因为工作原因由原来的MacBook pro更换为到surface book乞丐版(原因为mac下的AutoCAD太难用,autodesk你们就不能学学adobe公司吗?ps相当顺滑可惜我用不到),然而 ...

  3. 将训练好的pytorch模型的pth文件转换成onnx模型(亲测成功)

    将训练好的pytorch模型的pth文件转换成onnx模型(亲测成功) 模型转换 声明:本文原创,未经许可严禁转载,原文地址https://blog.csdn.net/hutao1030813002/ ...

  4. 局域网网络监控和透明文件加密原理、需求、模式、实例、功能、部署、方案全攻略

    关键词:局域网,网络监控,全攻略,监控软件,监控原理,网络监控软件,上网行为管理,内网管理,透明文件加密,反复制,信息安全,流量监控,网桥模式,QQ聊天记录监控,驱动,WINPCAP缺点 第一章 什么 ...

  5. 笔记本屏幕30hz_扩展显示-(多屏幕)三屏显示方案全攻略

    此文做为自己对扩展显示屏的各种方案记录,多屏幕可以极大提高工作效率,现在显示器价格也非常便宜,不管是个人工作室,还是公司使用,多显示器已经慢慢成为一种标配. 本来我是想给自己的X1C外接2个显示器,因 ...

  6. Windows 文件同步方案讨论

    在日常运维工作中,经常会遇到这样的情况:我们需要在无人值守的情况下完成文件.文件夹的同步过程,已实现周期性的备份,避免单点故障.本研究实现了本地Windows主机与远程Windows主机,本地Wind ...

  7. 解决pom文件第一行报错(unknown)-亲测有效

    原文链接:https://blog.csdn.net/u010947534/article/details/93743582 问题: Eclipse导入maven项目时,或者新建一个springboo ...

  8. java文件 默认打开方式_修改文件的默认打开方式(亲测有效)

    今天遇到了一个问题,那就是没办法修改文件的默认打开方式,Windos10系统. 可能我稍微有点强迫症什么的,每次默认记事本打开,虽然也可也选择其他的应用打开,但就是没有直接双击打开的爽. 一百度才发现 ...

  9. 企业级数据库备份方案完全攻略

    在当今的发达的信息领域,体现价值的珍贵性的不是计算机软件,也不是计算机硬件,而是计算机内的各种宝贵数据.但是各种因素像人为错误,硬盘损坏,电脑病毒或者各种停电,自然灾害都有可能使得数据的使用变得不牢靠 ...

最新文章

  1. iScroll.js 用法参考 (share)
  2. 如何正确有效表达:对不起,我们已经尽力了?
  3. Python语言学习:python编程之pip命令集合、python调式、头部代码、代码运行等常见概念详细攻略(解决问题为导向)
  4. mybatisplus代码生成器_想做时间管理大师?你可以试试Mybatis Plus代码生成器
  5. Android总结 之 View系统学习(一)
  6. Java 8函数式编程:延迟实例化
  7. Qt|C++-OpenGL绘制三角形带
  8. openresty + nginx-http-sysguard 调研使用
  9. 【NLP】毕业设计学习笔记(三):bert_bi-lstm代码解读
  10. 你想进BAT吗?告诉你一个秘密,面试成功率能提高到99%!
  11. 深入理解【缺页中断】及FIFO、LRU、OPT这三种置换算法
  12. 数据库模糊查询日期字段
  13. 从架构到平台, POWER 9处理器最全解读
  14. android获取农历时间,android 日历(带提醒、日程、阴历转换)
  15. 3G 模块驱动应用开发总结
  16. java 字节码 机器码_Java 执行引擎(从字节码到机器码)
  17. ipad+pdfexpert+webdav 双向同步文件
  18. 搬砖(二分答案 + 线性规划)
  19. 中M2018春C入门和进阶练习集
  20. linux下载百度命令行,Linux 命令行使用百度网盘上传下载文件

热门文章

  1. 文本相似度匹配-task5
  2. Bloom Filter 布隆过滤器
  3. Xcode 使用笔记
  4. 燕十八公益讲堂-mysql笔记_燕十八公益讲堂-mysql笔记
  5. pwm调速流程图小车_51单片机 小车 L298N pwm调速 串口控制 按键控制
  6. 【Cancer Research】由Y染色体LINC00278编码的新型微肽与AR信号通路介导的男性食管鳞状细胞癌相关
  7. 2021年,用更现代的方法使用PGP(下)
  8. regsvr32 命令使用和regsvr32 dll失败原因介绍
  9. PDF文档电子公章的初试
  10. 五霸七雄 细数ERP春秋(转)