欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  网络运营

shell脚本连接并重启远程服务器的方法

程序员文章站 2022-04-06 08:14:01
shell重启远程服务器 #connserver.sh 登陆服务器脚本 本地文件 #!/usr/bin/expect expect -c " spawn s...

shell重启远程服务器

#connserver.sh 登陆服务器脚本 本地文件
#!/usr/bin/expect
expect -c "
spawn ssh ali@192.168.1.1
expect {
\"*assword\" {set timeout 30; send \"123456\r\";}
\"yes/no\" {send \"yes\r\"; exp_continue;}
}
send \"cd /home/ali/demoproject \r\"     #根据系统而定 maybe /user/ali
send \"sh reboot.sh \r\"
expect eof"

echo "重启成功!"

#reboot.sh 重启脚本 该文件是放在远程服务器的文件
#!/usr/bin/bash
ps aux | grep /home/ali/demoproject/index.js | awk '{print $2}' | xargs kill
ps -ef | grep /home/ali/demoproject/index.js
echo "success reboot!"

#下面这条命令以绝对路径启动 方便以后kill 该进程

nohup node /home/ali/demoproject/index.js &

不知道什么原因,如果想再connecserver.sh中发送reboot.sh 的脚本命令,

有一个问题 : $2 没了. 奇迹般的消失在命令行中.

现在采取折中的办法就是将这条带有$2的命令,放在服务器端单独一个文件里, 在本地执行这个reboot.sh文件.

以上所述是小编给大家介绍的shell脚本连接并重启远程服务器,希望对大家有所帮助