在远程机器执行脚本

前提条件:

配置ssh免密码登录,没设置过的可以参考这篇文章

简单命令:

示例代码:

ssh user@remoteNode "cd /home ; ls"

注意点:

  • 双引号,必须有。如果不加双引号,第二个ls命令在本地执行
  • 分号,两个命令之间用分号隔开

复杂脚本:

示例代码如下:

#!/bin/bash
ssh [email protected] > /dev/null 2>&1 << remotessh
cd /app/python/pipeline/import_user_profile
touch test.txt
exit
remotessh
echo done!

注意点:

  • << remotessh,ssh后直到遇到 remotessh 这样的内容结束,remotessh 可以随便修改成其他形式。
  • 重定向目的在于不显示远程的输出了
  • 在结束前,加exit退出远程节点

参考文献:

  • http://www.cnblogs.com/ilfmonday/p/ShellRemote.html

你可能感兴趣的:(在远程机器执行脚本)