遠程重啟linux主機的幾種方法


方法一,在終端上利用ssh,不登錄遠程主機,直接發送重啟命令

ssh root@192.168.8.128 'reboot'

 

方法二,在終端上利用ssh和here document

ssh root@192.168.8.128 bash <<EOF
reboot
EOF

這種方式在reboot的位置其實可以執行多條其他的命令,說到這兒,還有一種有意思的用法

ssh root@192.168.8.128 bash < test.sh

這樣可以在遠程主機上執行本地寫好的一個腳本文件

 

方法三,通過expect腳本自動執行,以下是我寫的一個expect腳本,test.expect

#!/usr/bin/expect

set RHOST [lindex $argv 0]
set PASSWORD [lindex $argv 1]
set timeout 30

spawn ssh root@$RHOST 'reboot'

expect {
        "yes/no" {send "yes\r";exp_continue}
        "password" {send "$PASSWORD\r"}
        timeout {exit 1}
}
expect eof
exit 0

調用時,參數為遠程主機IP和密碼,如 expect test.expect 192.168.8.128 123

 

至於echo+sleep+|的方式,作為一個菜鳥,后面有時間再研究下

 

 附:在linux系統上重啟遠程windows系統

net rpc shutdown -r -f -I 192.168.8.156 -U administrator%123

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM