V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
phony2r
V2EX  ›  程序员

两台个人电脑能不能通过中间服务器进行 rsync 同步?

  •  
  •   phony2r · 2022-06-29 16:13:26 +08:00 · 3342 次点击
    这是一个创建于 876 天前的主题,其中的信息可能已经有所发展或是发生改变。

    需求就是有一个文件夹需要在两台电脑同步, 但是不需要实时同步, 所以想通过 rsync 进行同步, 但是 rsync 似乎需要其中一台电脑必须开启 rsync server

    27 条回复    2022-07-01 10:11:45 +08:00
    ruanimal
        1
    ruanimal  
       2022-06-29 16:18:02 +08:00
    rsync over ssh, 配好.ssh/confg
    kongkx
        2
    kongkx  
       2022-06-29 16:20:57 +08:00 via iPhone
    rsync + cron job ?
    phony2r
        3
    phony2r  
    OP
       2022-06-29 16:25:21 +08:00
    @kongkx 现在还没有解决两台电脑建立连接的问题
    phony2r
        4
    phony2r  
    OP
       2022-06-29 16:26:13 +08:00
    @ruanimal 两台电脑都没有公网 ip, 所以才想通过中间服务器进行 rsync 同步, 不知道 rsync 有没有这个能力, 或者其他工具可以实现
    ruanimal
        5
    ruanimal  
       2022-06-29 16:30:14 +08:00
    @phony2r zerotier
    psirnull
        6
    psirnull  
       2022-06-29 16:32:47 +08:00
    syncthing
    billzhuang
        7
    billzhuang  
       2022-06-29 16:40:26 +08:00
    tailscale
    jiayao
        8
    jiayao  
       2022-06-29 16:42:02 +08:00
    装个 zerotier 两台机器直接就相当于内网了, 随便折腾
    v2defy
        9
    v2defy  
       2022-06-29 16:57:52 +08:00 via Android
    配置 ssh 反向代理,让两台个人电脑可以通过中间服务器 ssh 连接,然后就可以随意的 rsync 或者 scp 了
    7RTDKSAK
        10
    7RTDKSAK  
       2022-06-29 16:59:30 +08:00
    楼主看看 croc?
    linhua
        11
    linhua  
       2022-06-29 17:06:38 +08:00
    frp
    wdssmq
        12
    wdssmq  
       2022-06-29 19:08:55 +08:00
    或者可以试试 Resilio Sync
    troilus
        13
    troilus  
       2022-06-29 19:11:40 +08:00
    可以用 croc
    tolbkni
        14
    tolbkni  
       2022-06-29 19:22:50 +08:00
    如果中间服务器跟这两台电脑都可以 ssh 的话,可以试试一楼说的 rsync over ssh ,需要配置 ssh jump host ,可以参考这个 https://wiki.gentoo.org/wiki/SSH_jump_host
    如果都可以访问互联网的话,也可以试试楼下提到的 tailscale 或者 zerotier ,在两台电脑间建立局域网
    realpg
        15
    realpg  
       2022-06-29 21:00:41 +08:00
    @phony2r #4
    国内正经网络都有 ipv6 了
    直接 ipv6 对着怼
    flynaj
        16
    flynaj  
       2022-06-29 22:38:07 +08:00 via Android
    syncthing
    jinliming2
        17
    jinliming2  
       2022-06-29 23:12:46 +08:00
    两台电脑在一起的话,可以直接一根网线两头插两台电脑,手动配个 ip 网关就能通信了。
    两台电脑不在一起的话,过公网,你首先就得要使得两台电脑能够互相访问通信,ngrok 之类的,反正是要有一台电脑开 server 的,不管是 rsync server 还是楼上说的走 ssh server ,总之是要有个端口监听另一边来访问的。
    lovelylain
        18
    lovelylain  
       2022-06-29 23:24:18 +08:00 via Android
    @phony2r 中间服务器运行 frp erver
    lovelylain
        19
    lovelylain  
       2022-06-29 23:25:07 +08:00 via Android
    @phony2r 中间服务器运行 frp server ,一台电脑运行 frp client+
    ysw
        20
    ysw  
       2022-06-30 01:40:19 +08:00
    试试 ssh 隧道
    l4ever
        21
    l4ever  
       2022-06-30 08:35:48 +08:00
    rclone+webdav
    cubecube
        22
    cubecube  
       2022-06-30 10:09:13 +08:00
    互联的话,先 frp 打通,其他都好说
    liyvhg
        23
    liyvhg  
       2022-06-30 10:24:24 +08:00 via Android
    A-B
    B-C
    B 装 server
    xyjincan
        24
    xyjincan  
       2022-06-30 12:52:23 +08:00 via Android
    转换成三台电脑同步数据呢
    DonkeyBenjamin
        25
    DonkeyBenjamin  
       2022-06-30 17:14:37 +08:00
    正如楼上很多人提到了 syncthing, 多个设备共享一个文件夹,每个设备运行一个 syncthing daemon, 然后设备之间彼此发现,有主文件夹的 share 一下,其它设备 accept 就可以保持同步了。以后无论哪个设备上的文件夹更新了,全部设备都跟着更新。
    xiaochun41
        26
    xiaochun41  
       2022-06-30 17:24:26 +08:00
    比较简单的是使用 sftp ,一个上传,一个下载。具体的上传和下载机制可以通过脚本实现
    julyclyde
        27
    julyclyde  
       2022-07-01 10:11:45 +08:00
    -e 参数
    你想怎么传都可以
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   5358 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 33ms · UTC 07:50 · PVG 15:50 · LAX 23:50 · JFK 02:50
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.