
我正在嘗試建立一個 bash 腳本,它將 scp 一個腳本到遠端伺服器,透過 ssh (使用已安裝的 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/
它上手非常簡單,但功能非常強大,尤其是跨多個伺服器。