文档中心

使用 Shell 执行远端命令

用户在 Shell 模式下或在 Javascript 脚本中,需要执行远端服务器的 Shell 命令时,可使用 Ssh 命令执行 shell 命令。

  • 用户启动 Shell 模式后,使用 Ssh 命令连接远端服务器,在远端服务器创建一个文本文件,然后取回到本地:
    $ /opt/sequoiadb/bin/sdb // 启动 shell 模式
    Welcome to SequoiaDB shell!
    help() for help, Ctrl+c or quit to exit
    > var ssh = new Ssh( "BDP-SDB2", "sdbadmin", "sdbadmin", 22 ) // 连接远端服务器
    Takes 0.213093s.
    > ssh.exec("pwd") // 获取远端路径
    /home/sdbadmin

    Takes 0.120320s.
    > ssh.exec("ls -l") // 获取远端目录文件清单
    total 0

    Takes 0.036118s.
    > ssh.exec( 'echo "Hello i am SeqouiaDB" > helloword.txt') // 在远端服务器创建文件
    Takes 0.079655s.
    > ssh.exec("ls -l helloword.txt")
    total 1
    -rw-r--r--. 1 sdbadmin sdbadmin_group 21 Mar 14 01:49 helloword.txt

    Takes 0.016682s.
    > ssh.pull( "helloword.txt", "helloword.txt" ) // 将远端文件取回本地
    Takes 0.065645s.
    > quit  // 退出 shell 模式
    $ ls -l  helloword.txt
    -rw-r-----. 1 sdbadmin sdbadmin_group 21 Mar 14 02:01 helloword.txt
    $ cat helloword.txt 
    Hello i am SeqouiaDB

Note:

在 shell 模式下,执行 Ssh.help() 可查看更多 Ssh 命令参数

  • 用户在使用 Javascript 脚本时,也可通过 Ssh 命令来执行 Shell 命令。例如,将上文执行逻辑固化到 Javascript 脚本中:
function createAndgetRemoteFile(){
 var ssh = new Ssh( "BDP-SDB2", "sdbadmin", "sdbadmin", 22 );

 var note = ssh.exec("pwd");
 println("pwd: " + note);

 var note = ssh.exec("ls -l");
 println("ls -l: " + note);

 ssh.exec( 'echo "Hello i am SeqouiaDB" > helloword.txt');

 var note = ssh.exec("ls -l helloword.txt");
 println("ls -l  helloword.txt: " + note);

 ssh.pull( "helloword.txt", "helloword.txt" );
}

function main(){
  createAndgetRemoteFile();
}

main();

Note:

回到顶部