如何在远程计算机上自动执行SSH活动

时间:2017-05-01 08:54:31

标签: python git bash ssh deployment

我有十几台机器,我必须执行几乎类似的活动:

  • 登录ssh:ssh mymachine.com
  • CD到路径cd to/my/path
  • 运行git pull git pull origin master
  • 某种设置文件,我可以提到我运行的.py文件。
  • 从上一步,执行脚本time python {script_file}

如何自动化? BASH可以这样做,还是其他一些部署工具可以做到这一点?

由于

2 个答案:

答案 0 :(得分:1)

虽然您可以使用Bash脚本执行此操作,但我强烈建议您查看Fabric

  

Fabric是一个Python(2.5-2.7)库和命令行工具,用于简化SSH在应用程序部署或系统管理任务中的使用。

Harry Percival shows a good example of how to use it in one chapter of his excellent book

答案 1 :(得分:0)

只需管道您想要ssh的命令,它将在远程服务器上执行它们:

cat script.sh 
#!/bin/bash
echo "I am $USER at $(hostname)"

$ ssh user@host < script.sh

如果要使用局部变量,可以使用HEREDOC语法:

ssh user@host << EOF
  echo "I am \$USER at \$(hostname), called from $USER at $(hostname)"
EOF