需要帮助通过本地 bash 脚本执行和删除远程 bash 脚本

需要帮助通过本地 bash 脚本执行和删除远程 bash 脚本

我正在尝试创建一个 bash 脚本,该脚本将 scp 脚本传输到远程服务器,使用已安装的 ssh 密钥连接到远程服务器,执行上传的脚本,然后在完成后删除远程脚本。我不清楚如何在 bash 脚本中运行 ssh 会话。以下是我从命令行执行此操作时使用的命令:

scp my_script.sh [email protected]:/usr/home/user/
ssh [email protected]
>sh my_script.sh
>rm myscript.sh
>exit

如何编写命令列表的 ssh 部分?谢谢!

答案1

ssh 将在远程计算机上执行作为参数传递的命令。以下命令应可执行您想要的操作:

ssh [email protected] 'sh my_script.sh; rm my_script.sh'

答案2

您还可以跳过文件复制和删除并执行类似的操作。

cat my_script.sh | ssh user@host bash

答案3

您还可以研究 Fabric 的使用,这是一个用于通过 SSH 进行系统管理的 Python 库:

http://docs.fabfile.org/0.9.1/

它上手非常简单,但功能却非常强大,尤其是在跨多台服务器时。

相关内容