我有 2 台伺服器(Linux 2.6.32-696.el6.x86_64)假設 fe1 和 fe2。
我需要運行一個命令(服務tomcat啟動/停止)從 fe1 到 fe2 但它需要須藤作為根。我正在使用的命令須藤根是sudo su
#!/bin/sh
host=fe2
user=`whoami`
sftp $user@fe2 << EOF
sudo su
service tomcat stop
bye
EOF
可以用其他方式完成嗎?
答案1
您可以透過 ssh 從 fe1 向 fe2 發送任何命令,如下所示
ssh whoami@fe2 'sudo service tomcat start'
ssh
如果您想從一個伺服器執行多個命令到其他單獨的命令,;
如下' '
所示
ssh whoami@fe2 'sudo -s; service tomcat start; service tomcat status; other_commands; '
ssh
將按照您提到的順序運行所有這些。任何stdin
請求都將從命令伺服器獲取,並且任何輸出stdout
也stderror
將通過ssh