Syncthing 实现实时本地与远程服务器代码同步

近来我频繁使用服务器来跑项目,使用 scp 不断在本地和远程之间传文件,这搞得我有点心烦。因此,我在想有没有办法可以实现自动代码同步,这不,idea有啦。

问题描述

  • 本地 win11系统
  • 远程 CentOS7.9系统
  • 实现本地和远程之间文件双向同步

Syncthing 下载与安装

当然除了 Syncthing 以外,还有其他同步库,比如 Resilio Sync、 Nextcloud 等。我选择 Syncthing 主要是因为部署简单方便,也能完成 Win 和 Liunx 系统之间的文件同步。

首先我们要在双端都安装 Syncthing ,把 Win 和 Liunx 版本的 Syncthing 都下载到本地。官网下载地址:https://syncthing.net/downloads/

在这里插入图片描述

  • Window 系统
    直接解压启动即可。
  • Liunx系统
    # 本地执行,传输库文件到远程服务器
    # scp 本地下载地址/syncthing-linux-amd64-v1.27.7.tar.gz 用户名@服务器地址:保存路径
    scp D:/Download/syncthing-linux-amd64-v1.27.7.tar.gz hzq@124.42.31.44:~/
    
    # 远程执行
    tar xzf  syncthing-linux-amd64-v1.27.7.tar.gz
    cd  syncthing-linux-amd64-v1.27.7/
    sudo cp syncthing /usr/bin/
    

启动 Syncthing

  • win系统
    点击 Syncthing 中的 exe 文件即可完成。Ctrl+c 退出。

  • liunx系统

    syncthing
    ctrl+c
    

远程服务器开启公网监听和自启动

请注意你的配置文件路径可能和我的路径不一致, syncthing -paths 查看配置文件路径。
在这里插入图片描述

接着执行命令:

# 远程执行
vim /home/hzq/.local/state/syncthing/config.xml
# 将127.0.0.1修改为0.0.0.0,保存

#防火墙放行8384端口
firewall-cmd --zone=public --add-port=8384/tcp --permanent
firewall-cmd --reload
syncthing

注意: 如果是云服务器的话,需要放行8384端口。

文件夹同步

举例:同步远程liunx服务上的 ~/wechat/ 文件夹。
登录到 http://ip_address:8384 和本地的syncthing gui后,你只需要做两件事:添加远程设备和添加同步文件夹。
在这里插入图片描述

如何添加设备和文件夹,gui已经详细说明了,很简单方便,一步步来就好。

文件夹同步测试

远程新建一个文件test.txt,在本地随便写点东西,在远程 liunx 服务端查看写入的东西。

touch test.txt
####
# 本地win向文件中写入ok,over
# ok,over
####
cat test.txt  # 若可以看到ok,over说明同步测试成功,(*^▽^*)


如果遇到什么问题,可以在本篇文章下留言,看到基本上都会回答的。可以的话,顺便点点关注。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

误伤这又何妨

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值