目前我远程办公主要用的是 pycharm+terminal,然后需要连接两三个中间服务器才能到目标服务器,因为我本人无法习惯使用 vim,所以代码编辑主要还是 pycharm。这样代码同步上传的话就需要多至少两次 scp。
这个服务器之间的文件同步和本地到服务器的文件同步也有区别,主要是网络延迟,本地文件改完了,几十 M 甚至上百兆都可以瞬间完成。但是服务器之间的话就会有很高的网络延迟,满足我需求的工具目前我好像是没找到,于是就造了个轮子。
代码地址: https://github.com/nladuo/sync-go 效果:
1
jakezh 2020-02-15 01:49:43 +08:00
没明白 io.Copy(dstFile, srcFile) 怎么解决的网络延迟
直接 mount 就可以吧 |
2
nladuo OP @jakezh 这个说的是另一个工具传输的文件大小都是 0 可能存在的原因。网络延迟其实就是要加一个判断,等待文件不再写入,然后再上传。因为如果在上传一个文件的时候,会不断的刷新,然后可能会不断地重新上传很多遍。
|
3
ericls 2020-02-15 02:06:50 +08:00 via iPhone
Fuse 应该有此类工具
|
4
jakezh 2020-02-15 03:00:09 +08:00
我用 inotify + rsync
|
5
nladuo OP @jakezh 我同学他们配代理好像用的 rsync,没太用过,之前听他们说需要配端口权限不够。还是 scp 这种比较符合我的需求。
|
6
visitant 2020-02-15 04:14:28 +08:00
vscode remote 不香吗
|
7
nladuo OP @visitant vscode remote 能传无限级 ssh 吗?和普通的 sftp 工具不一样?
|
8
ericls 2020-02-15 05:16:39 +08:00 via iPhone
sshfs
|
9
orzfly 2020-02-15 05:36:04 +08:00
use ssh -J / ProxyJump: https://en.wikibooks.org/wiki/OpenSSH/Cookbook/Proxies_and_Jump_Hosts
From command line: ssh -J [email protected]:22,[email protected]:2222 [email protected] In ssh_config: Host server3 HostName 192.168.5.38 ProxyJump [email protected]:22,[email protected]:2222 User fred 效果: 先连 jumphost1,在这 jumphost1 上面连 jumphost2,然后在 jumphost2 上连 192.168.5.38 |
13
Kobayashi 2020-02-15 08:57:18 +08:00 via Android
写好 ssh 配置文件,确保 ssh destination-host 可以直接登录。然后使用 rsync 命令同步即可( rsync 认证基于 ssh,同步为差量同步)。
|
14
Kobayashi 2020-02-15 08:58:22 +08:00 via Android
@Kobayashi 关键是 SSH ProxyJump 配置自动连接跳板机,我自己是中间跨两台跳板。
|
15
duhongle 2020-02-15 10:38:24 +08:00
BitTorrent Sync 可以试试
|
16
PainAndLove 2020-02-15 15:41:59 +08:00
可以指定 exclude 某些文件夹吗? 比如 node_modules
|
17
nladuo OP @PainAndLove 目前我没过滤这个
|
18
flynaj 2020-02-15 21:27:07 +08:00 via Android
文件同步 t 用 syncing
|
19
codepm 2020-02-16 22:27:24 +08:00
项目管理工具-项目加 https://www.xiangmujia.com 支持下
|
20
lolizeppelin 2020-02-17 13:28:33 +08:00
rsync 可以走 ssh 不需要开服务的
|
21
KickAssTonight 2020-02-20 13:59:55 +08:00
rsync +1
|
22
sbilly 2020-02-24 14:05:22 +08:00
sshfs
|