这是连接:
[Server1] <---> [my desktop] <---> [Server2]
Server1 和 server2 不允许直接互相交谈(不要问)。但是,我的桌面能够通过 ssh 访问两台服务器。
我需要将文件从 server1 复制到 server2。
传统上,我一直在使用 ssh+tar hack,例如:
ssh -q root@Server1 'tar -vzc /path/to/files ' | ssh -q root@Server2 'tar -vzx -C /'
这很好用,但我想更进一步,通过我的桌面在两台服务器之间进行 rsync 工作。
现在我知道我可以在一个终端中启动一个 ssh 端口转发隧道,然后在另一个窗口中通过该隧道进行 rsync,但我不想在第二个终端上大惊小怪,或者创建和断开一个单独的端口转发隧道。我想要的是:
有人有这样做的技巧吗?
编辑:这是工作命令!大家辛苦了: 1. 对于 rsa 关键路径,不能使用 tildae,必须使用“/root/”。2. 这是最终的命令行:
ssh -R 2200:SERVER2:22 root@SERVER1 "rsync -e 'ssh -p 2200 -i /root/.ssh/id_rsa_ROOT_ON_SERVER2' --stats --progress -vaz /path/to/big/files root@localhost:/destination/path"
Run Code Online (Sandbox Code Playgroud)
炸药爆炸了。
我正在为 Android 编写一个电话应用程序,该应用程序连接到我车上的蓝牙 RFCOMM 设备。我的手机应用程序与它对话 AT 命令。对于开发工作,我经常需要与设备进行通信以尝试不同的命令和事物。
我的邻居开始认为我很奇怪,因为我连续几个小时坐在车里,笔记本电脑的屏幕照在我的脸上,像脚本小子一样打字。
我更愿意将我的众多 Linux 服务器之一配置为蓝牙 RFCOMM 设备并允许我连接到它(在室内,当我坐在沙发上时)。
我想我必须从类似的东西开始
sdptool add SP
但是然后呢?
我很高兴编写一个 perl 应用程序来处理 I/O,但我只是不知道如何让 bluez 堆栈接受连接并随后将该流传输到 perl 应用程序。
在Linux中,我曾经使用以下命令,该命令接受音频输入,应用混响和音调变换效果,然后将结果输出到指定的音频设备。
sox -r 44100 -t alsa hw:1 -t alsa hw:0 reverb 1 50 10 50 pitch 100
Run Code Online (Sandbox Code Playgroud)
在 mac/OSX 上,我已经安装了命令行音频实用程序sox
,并且我可以使用-d
(默认音频设备)录制或播放音频,但我无法让 sox 执行与我在 Linux 中所做的相同的实时音频操作多于。我认为关键是找出该-t
选项指定的内容