Shell:从远程主机获取数据并执行其他一些命令

Xie*_*ezi 1 linux oracle shell

我需要创建一个shell脚本来执行此操作:

  1. ssh到另一个远程主机
  2. 在该主机和spool命令上使用sqlplus将数据从oracle db获取到文件中
  3. 将文件从该主机传输到我的主机
  4. 执行另一个shell脚本来处理数据文件

我已经完成了第4步shell脚本.现在我必须逐一完成这4个步骤.我想创建一个脚本并完成所有操作.那可能吗?如何将数据从一台主机传输到我的主机?

我想也许db文件不是必需的.

注意:我必须ssh到另一台主机才能使用sqlplus.它是唯一一个拥有访问数据库权限的主机.

gle*_*man 5

# steps 1 and 2
ssh remote_user@remote_host 'sqlplus db_user/db_pass@db @sql_script_that_spools'
# step 3
scp remote_user@remote_host:/path/to/spool_file local_file
# step 4
process local_file
Run Code Online (Sandbox Code Playgroud)

要么

# steps 1, 2 and 3
ssh remote_user@remote_host 'sqlplus db_user/db_pass@db @sql_script_no_spool' > local_file
# step 4
process local_file
Run Code Online (Sandbox Code Playgroud)

或者,一体化:

ssh remote_user@remote_host 'sqlplus db_user/db_pass@db @sql_script_no_spool' |
  process_stdin
Run Code Online (Sandbox Code Playgroud)