我有十几台机器,我必须执行几乎类似的活动:
ssh mymachine.com
cd to/my/path
git pull origin master
.py
文件。time python {script_file}
如何自动化? BASH可以这样做,还是其他一些部署工具可以做到这一点?
由于
答案 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