我plink
用来在远程执行 shell 脚本MachineB
。并且 shell 脚本在MachineA(Windows Box)
.
C:\PLINK>plink uname@MachineB -m test.sh
Using keyboard-interactive authentication.
Password:
Using keyboard-interactive authentication.
Your Kerberos password will expire in 73 days.
text file(aa.txt)
该 shell 脚本在 MachineB 上的 a 中生成输出,并将其存储在/export/home/uname/aa.txt
所以我的问题是 -有什么方法可以在aa.txt file
脚本使用. 或者我们需要把所有这些东西放在 Windows 批处理文件中?MachineB
MachineA
ssh
所以问题陈述是这样的-
MachineB
在from上执行 shell 脚本MachineA
。- 然后等待 shell 脚本完成它的任务,在我的例子中,它会将输出写入一个文本文件。
- 在 shell 脚本完成所有任务后,意味着它完成了将所有内容写入 txt 文件,然后将该 txt 文件复制到
MachineA
fromMachineB
关于如何实现上述方案的任何建议将不胜感激?
更新:-
所以假设如果这是 test.sh shell 脚本文件中的内容,并且在脚本末尾添加 pscp 之后,那么它应该是这样的吗?
#!/bin/bash
export HIVE_OPTS="$HIVE_OPTS -hiveconf mapred.job.queue.name=hdmi-technology"
hive -S -e 'SELECT count(*) from testingtable2' > aa.txt
pscp uname@MachineB:/export/home/uname/aa.txt c:\documents\foo.txt
所以我在上面的脚本中执行一个配置单元查询,其输出存储在aa.txt
文件中,一旦查询完成并且输出存储在aa.txt
文件中,它将转到fourth line of pscp
将 aa.txt 文件传输到我的本地 Windows 机器里面的文件文件夹。我对吗?这将是整个过程吗?
如果上述过程据我了解是正确的,那么我可以简单地转到 windows cmd 提示符,然后像下面那样做,它会做完全相同的过程。正确的?
C:\PLINK>plink uname@MachineB -m test.sh
Using keyboard-interactive authentication.
Password:
Using keyboard-interactive authentication.
Your Kerberos password will expire in 73 days.
再次更新:-
所以我需要创建一个bat文件,假设这是下面的文件,所以该文件中的test.bat
内容应该是这样的-test.bat
plink uname@MachineB -m test.sh
pscp uname@MachineB:/export/home/uname/aa.txt c:\documents\foo.txt