shell重啟遠程服務器
#connServer.sh 登陸服務器腳本 本地文件#!/usr/bin/expectexpect -c "spawn ssh ali@192.168.1.1expect {/"*assword/" {set timeout 30; send /"123456/r/";}/"yes/no/" {send /"yes/r/"; exp_continue;}}send /"cd /home/ali/demoProject /r/" #根據系統而定 maybe /User/alisend /"sh reboot.sh /r/"expect eof"
echo "重啟成功!"
#reboot.sh 重啟腳本 該文件是放在遠程服務器的文件#!/usr/bin/bashps aux | grep /home/ali/demoProject/index.js | awk '{print $2}' | xargs killps -ef | grep /home/ali/demoProject/index.jsecho "success reboot!"
#下面這條命令以絕對路徑啟動 方便以后kill 該進程
nohup node /home/ali/demoProject/index.js &
不知道什么原因,如果想再connecServer.sh中發送reboot.sh 的腳本命令,
有一個問題 : $2 沒了. 奇跡般的消失在命令行中.
現在采取折中的辦法就是將這條帶有$2的命令,放在服務器端單獨一個文件里, 在本地執行這個reboot.sh文件.
以上所述是小編給大家介紹的shell腳本連接并重啟遠程服務器,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對IIS7站長之家網站的支持!
新聞熱點
疑難解答