环境: 我本地 macOS 系统 local, 远程服务器 s1, s2, s3
需求: s1 s2 s3 之间文件互相拷贝
之前我用的是 scp, 但是每天都需要敲蛮长的命令
有什么 gui 工具可以直接把 s1 的文件拖到 s2 上吗,现在找到的工具是 local 可以和 s1 文件互拖
|      1Dragonish3600      2018-10-13 10:22:32 +08:00 via iPhone  1 Rsync 啊 | 
|      2cdwyd      2018-10-13 10:22:47 +08:00 via Android 不说说 s1s2s3 什么系统吗? linux rsync win 的话我是直接开了 web 服务下载 另外三台机器相互备份是什么需求? | 
|      3fangyh09 OP 每次拷贝的路径不一样 | 
|      6myself      2018-10-13 10:25:35 +08:00 via Android 写个脚本 | 
|  |      7ffffish      2018-10-13 10:26:53 +08:00 transmit, forklift | 
|      8GGGG430      2018-10-13 10:27:32 +08:00 via iPhone 这种情况一般是写一个 shell 脚本,把你常用的拷贝命令封装到里面,而 source,destination,path 之类的就作为参数 | 
|      9hunk      2018-10-13 10:27:50 +08:00 scp | 
|      10fangyh09 OP | 
|  |      12lululau      2018-10-13 10:29:06 +08:00 iTerm2 Shell Integration | 
|      15forgetandnew      2018-10-13 10:30:05 +08:00 rsync | 
|  |      16ymj123      2018-10-13 10:39:25 +08:00 via Android rsync 真的比 scp 好吗?我这边追求极致的速度,都是用的 scp,rsync 比 scp 慢一点点。 | 
|      17AEANWspPmj3FUhDc      2018-10-13 10:41:20 +08:00 个人倾向用 Rsync,增量同步的。 Windows 有 cwRsync | 
|  |      18yjd      2018-10-13 10:44:03 +08:00 via Android 为什么不写成 sh | 
|      19lihongjie0209      2018-10-13 10:44:08 +08:00 @ymj123 你断点 增量试试 | 
|  |      20limbo0      2018-10-13 10:49:32 +08:00 via Android  1 关键字 nc 文件传输 开个命令直接传 | 
|  |      21nosay      2018-10-13 10:51:30 +08:00 termius  的 sftp 可以满足需求,但是价格不菲. | 
|  |      22hshpy      2018-10-13 11:00:55 +08:00 alias zsh 自动捕全 | 
|  |      23hshpy      2018-10-13 11:08:03 +08:00 错了,忽略。 | 
|  |      24liangzi      2018-10-13 11:12:28 +08:00 via Android rsync 有个 --include-from=file.list 你写好了 file.list 内容 脚本自动同步 即使有变化也只是改 file.list 里面内容 | 
|      25weyou      2018-10-13 11:24:57 +08:00 via Android syncthing | 
|  |      26GG668v26Fd55CP5W      2018-10-13 11:26:24 +08:00 via iPhone filezilla 可以 sftp 传 | 
|      27diggerdu      2018-10-13 11:26:31 +08:00 via iPhone 不用搞得这么复炸 sshfs | 
|  |      28cabing      2018-10-13 11:30:28 +08:00 nc 命令很方便吧。 | 
|      29fangyh09 OP 我最后用了 sh+complete | 
|      30wyssurvivor      2018-10-13 11:35:59 +08:00 我都 scp | 
|  |      33TonyLiu2ca      2018-10-13 11:40:29 +08:00 rsync + shell 脚本 再说这不是互相拷贝,是数据同步吧 | 
|      34mattx      2018-10-13 11:41:31 +08:00 可以开启 ssh 秘钥转发, 这样服务器就可以直接使用 mac 这里的秘钥. 然后 用 rsync, 写个脚本包装下. 比如 rsync -atzH --progress -e "ssh -p xxxx" $1 $2 ,和 scp 用法差不多, 但是 rsync 有断点续传挺好的. | 
|  |      35itfanr      2018-10-13 12:15:48 +08:00 via Android nfs  samba  cp | 
|      36a852695      2018-10-13 12:18:13 +08:00 在 a 机器对应的目录下用,python -m http.server 临时启 server,在 b 机器通过 wget ip:port/file.txt ,可以下载下来。用完可以直接关闭 server 进程。 | 
|  |      37likuku      2018-10-13 12:36:30 +08:00 每次路径不同?那么它们有没有个共同的上层目录 /路径?有的话,直接用 rsync 对此上层目录同步到本地即可。 毕竟 rsync 是差异比对同步,之前复制过的 /同步完成的,则不会被再次传输。 | 
|  |      38likuku      2018-10-13 12:39:46 +08:00 但,若是 s1 s2 s3 之间是交叉增量互相同步,那么会可能引起版本冲突,那么,最好用 git 之类带版本控制的办法, 当然,s1 s2 s3 都向同一台 git 服务器提交和下拉同步 | 
|  |      39realityone      2018-10-13 12:41:39 +08:00 via iPhone @ymj123 极致速度请用 nc | 
|  |      40necomancer      2018-10-13 12:44:17 +08:00 可以考虑 NFS 系统吗?相当于三个服务器共用硬盘。 | 
|  |      41Tink PRO magic wirmhole | 
|      42ps1aniuge      2018-10-13 13:05:23 +08:00 问:powershell 经过 ssh,远程运行命令,比 bash 强在哪? 答: =============linux 远程命令 & ps 远程命令 对比例子============ linux: ssh [email protected] "以用户 aaa 权限执行的,命令 xxx" ps: $a = 1 [scriptblock]$备份命令 = { Get-Date $b = $using:a + 2 #引用客户机变量,需要用$using: } $连接 1 = New-PSSession -HostName 1.1.1.1 -UserName root #手动输入密码或用-KeyFilePath 选项 invoke-command -ScriptBlock { $备份命令 } -Session $连接 1 ============================================================ bash 的远程命令,简单直接。就好像我左手这盘蛋炒饭,简单解饿,但是不够强。更适用于 简单远程命令场合。 你再看看我右手这盘盖饭好在哪?答:生菜垫底,萝卜雕花围边。 bash 远程传递的是 [字符串] ,powershell 传递的是 [代码块] 。特色是 [对象垫底,大花括号围边] 。 字符串传递到远程时,经常需要要转义。代码块不用。 代码块,支持多行,格式化,使代码美观。 变量名,函数名支持中文。 代码块中,支持引用客户端变量,一律加上 [$using:] ,即客户机上的 [$a] ,在服务器上叫 [$using:a] 代码块中,支持引用服务器端变量,即服务器上的 [$a] ,在服务器还上叫 [$a] 即使变量重名,两个$a 也绝不会弄混。 ps 用大花括号包围代码,不用单双引号,代码嵌套很容易。 而代码嵌套容易,使的 ps 的 ssh 远程,从 server1 (跳板机,堡垒机)经 ssh 进入 server2,再 ssh 进入 server3,进入 33 层 ssh server 执行命令很容易。而 shell 难。 远程代码天生不老稳定的,有时没反应,或卡住,或中途断了。遇到此情形,每行 ps 代码都可以在外面套上 try-cacth,比 shell 更稳。 批量 ssh,ps 采用 [多线程] ,比 bash 用 [多进程] 快,时间准,省内存。 | 
|      43ps1aniuge      2018-10-13 13:12:00 +08:00 书接上回。。。 1 用 powershell 可以在 win 下编写图形界面。mac 我就不知道了。 图形界面编写起来很简单,不外乎,源目录,目的目录,是否复制子目录,确定。 图形界面用于产生值。 2 上面所述,ps 的 ssh 远程,从 server1 (跳板机,堡垒机)经 ssh 进入 server2,再 ssh 进入 server3,进入 33 层 ssh server 执行命令很容易。而 shell 难。 从本地,经 ssh 发送命令给 s1,然后让 s1 发送命令给 s2,即可。 s1 发送给 s2 的命令,是 bash 命令。可以是 rsync,scp 等。也就是大家上面说的。 ps 脚本用于,嵌套 远程传值。 | 
|  |      44devtk      2018-10-13 13:19:20 +08:00 sshfs 我用的是这个 | 
|      45jjianwen68      2018-10-13 13:43:34 +08:00 nodejs 的 http 服务:node-file-manager 可以同时做上传下载,anywhere 只能下载 | 
|  |      46dudesun      2018-10-13 13:46:44 +08:00 tar nc | 
|  |      47adadada      2018-10-13 14:13:24 +08:00 via iPhone cyberduck 可以把远端存储 mount 成到本地,然后在文件管理器里面直接互相拖就可以了。 | 
|  |      48chengxiao      2018-10-13 15:27:31 +08:00 我最近是用 forklift 两边拖 | 
|  |      50SamsonWang      2018-10-13 16:14:40 +08:00 我也是 scp,shell 里试试 Ctrl+R,这样每次就只需要改一点点就行了 | 
|      51264768502      2018-10-13 17:06:49 +08:00 via Android ftp fxp | 
|  |      52ymj123      2018-10-13 17:41:25 +08:00 via Android @lihongjie0209 对哦,你提醒了我,rsync 可以增量传。应该速度会更快。下周去把脚本命令换了。 | 
|      53sigup      2018-10-13 18:30:42 +08:00 sshfs 挂载到 3 个目录, 然后打开 3 个窗口, 复制粘贴 | 
|  |      54zealzz      2018-10-13 18:39:27 +08:00 via Android 以前用 scp 现在用 rsync,增量同步,还是很不错的 | 
|  |      55xuanbg      2018-10-13 20:29:17 +08:00 ftp,nfs,fxp。。。 办法很多,因地制宜就好了。 | 
|  |      56tt0411      2018-10-13 22:13:49 +08:00 scp 也好, nc 也罢, 大家好像都没答到点子上, 感觉楼主只是想找个工具动动鼠标就能复制文件, 而不用敲命令 | 
|      57ykrl089      2018-10-13 22:36:03 +08:00 forklift | 
|  |      58hshpy      2018-10-13 23:04:00 +08:00 via iPhone 压缩成一个文件。。。 | 
|      59ps1aniuge      2018-10-14 13:02:32 +08:00 不管用什么,从 c1 到 c2, 1 得走一个文件传输协议。 scp 走 ssh。 ftp 走 fxp。 rsync 走 rsync,或 ssh。 http,https 也行。 2 得搭建服务器 /客户机. 3 或许得在 c1,c2 上安装基于这个协议的,图形客户端。 而 powershell,在 win 上,可以编写 gui 界面。在 mac,linux 上,可以编写 tui 界面。还不用在 c1,c2 上装图形库。 | 
|  |      60beginor      2018-10-15 07:53:50 +08:00 via Android glusterfs 了解一下 | 
|      61luckyc      2018-10-15 08:12:41 +08:00 via iPhone rsync | 
|      62zhouzm      2018-10-15 13:37:37 +08:00 $> man scp -3 Copies between two remote hosts are transferred through the local host. Without this option the data is copied directly between the two remote hosts. Note that this option disables the progress meter. $> man rsync Rsync copies files either to or from a remote host, or locally on the current host (it does not support copying files between two remote hosts). 也就是说 scp 可以直接在两台远程主机间传输而 rsync 不能。 建议楼主可以在 mac 上写个脚本快速生成待传输文件列表,再怎么变化总会有一定规律的吧?然后再用 scp 写个传输脚本就可以了。 当然了,在此之前做好 ssh key 密钥配置免密码登录是必要的。 另外: 如果楼主迷恋于 gui 工具的可视直观性。可以试一下 Double Commander (Free) 或者 Commander One (Freemium),使用 sftp 连接服务器,两个面板拖拽一下也挺方便的。 | 
|  |      634ever911      2018-10-17 00:01:56 +08:00 scp alias | 
|  |      64panzhc      2018-10-20 11:29:48 +08:00 编辑 $HOME/.ssh/config Host s1 HostName 1.1.1.1 User root Port 22 Host s2 HostName 1.1.1.2 User root Port 22 Host s3 HostName 1.1.1.3 User root Port 22 Mac 上执行 scp -3r s1:/path s2:/path scp -3r s1:/path s3:/path |