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

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文件.

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Ubuntu的发音 Ubuntu,源于非洲祖鲁人和科萨人的语言,发作 oo-boon-too 的音。了解发音是有意...
    萤火虫de梦阅读 99,761评论 9 468
  • linux资料总章2.1 1.0写的不好抱歉 但是2.0已经改了很多 但是错误还是无法避免 以后资料会慢慢更新 大...
    数据革命阅读 14,182评论 2 33
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 135,323评论 19 139
  • 第1章 小试牛刀 $ 是普通用户,# 表示管理员用户 root。 shebang:#!。sharp / hash ...
    巴喬書摘阅读 11,506评论 1 4
  • 患者为胰十二指肠术后,术后病人WBC持续高值,波动在18.46~23.26左右,体温较高,腹部切口脂肪液化,考虑消...
    风花雪月下苦读阅读 3,621评论 0 0