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

以上所述是小编给大家介绍的shell脚本连接并重启远程服务器,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对我们网站的支持!

(0)

相关推荐

  • 智能监测自动重启Apache服务器的Shell脚本

    由于需要监控某些要求高可用性的Apache服务器,除了专业的监控报警设备,低成本下在Apache服务器上写一个自动监测Apache状态的脚本是个不错的主意.在网上搜索了许多类似的脚本,但由于局限性较大,也都存在一些不完善的地方,所以自己写了一个. 脚本功能与特点 1.能够每隔一段时间监测Apache服务器的可用性(由于本脚本直接模拟了客户端的访问,因此这里的"可用性"是指切切实实的正常可访问) 2.在出现无法访问的情况下,能够自动重启Apache服务(强行重启) 3.在重启后仍然无法正

  • 使用xp_cmdshell注销Windows登录用户(终端服务器超出最大连接数)

    公司日常项目更新使用TFP,服务器一般维护用远程桌面管理,所以经常登录到服务器, 但有时由于某种原因,登录到服务器后,帐号没有及时注销,致使后面无法登录到服务器, 显示错误如 出现这样的问题还真麻烦,跑机房光手续都要两三天才能搞好.还好公司一直保留有Sa帐号, 这就好办了,用SQL注销一个Windows登录用户即可. 首先打开xp_cmdshell--执行XP_CMDSHELL要开启xp_cmdshellEXEC sp_configure 'show advanced options', 1RE

  • java通过ssh连接服务器执行shell命令详解及实例

    java通过ssh连接服务器执行shell命令详解 java通过ssh连接服务器执行shell命令:JSch 是SSH2的一个纯Java实现.它允许你连接到一个sshd 服务器,使用端口转发,X11转发,文件传输等等.你可以将它的功能集成到你自己的 程序中.同时该项目也提供一个J2ME版本用来在手机上直连SSHD服务器. SSH是Secure Shell的缩写,一种建立在应用层和传输层基础上的安全协议.SSH在连接和传送过程中会加密所有数据,可以用来在不同系统或者服务器之间进行安全连接.SSH提

  • powershell远程管理服务器磁盘空间的实现代码

    一.启用远程管理 1.将管理服务器的trusthost列表改为* 运行Set-item wsman:localhost\client\trustedhosts –value * 2.在远程服务器上运行Enable-PSremoting 注: 在本地服务器上以Administrator运行"Enable-Psremoting . Winrm Quickconfig .  Set-WSManQuickConfig",均提示"访问被拒绝",可能的原因如下: 1.在工作组计

  • 监控服务器swap并重启php的Shell脚本

    折中一下,写个脚本监控swap吧,放在crontab里面,2小时执行一次,世界安静了,再也没有烦人的报警短信了 复制代码 代码如下: #!/bin/bash function usage {         echo "Usage: $0"         echo "e.g. $0 1500"         exit } if [ $# -lt 1 ];then         usage fi typeset -i nowSwap limitSwap limi

  • 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 \&qu

  • mac使用Shell(终端)SSH连接远程服务器的方法

    前提:要有你需要连接的服务器的ip,端口号,服务器上的账户和密码 1.首先打开终端,然后输入sudo su - 回车进入根目录 2.然后输入:ssh -p 端口号 服务器用户名@ip (例如ssh -p 22 userkunyu@119.29.37.63 )回车,到这会让你输入yes或者no来确认是否连接,输入yes回车 3.然后输入在服务器上的用户密码回车 4.到此进入的是你在服务器上的账户的目录,即为连接成功 最后输入sudo su -进入服务器的根目录,进行操作 连接设置别名 使用vi命令

  • shell脚本实现本地文件与服务器文件同步

    为何创建此脚本是因为方便项目的布署,不需要手动地去同步不同的项目,而只需要简单的执行shell脚本,输入项目名就能发布到服器上. 1.shell文件代码 #!/bin/sh read -t 30 -p "请输入项目名:" name echo -e "\n" echo "项目名为:$name" case $name in cn) rsync -r ~/project1 root@192.168.18.2:/project1 --exclude=&q

  • python使用socket连接远程服务器的方法

    本文实例讲述了python使用socket连接远程服务器的方法.分享给大家供大家参考.具体如下: import socket print "Creating socket...", s = socket.socket(socket.AF_INET,socket.SOCK_STREAM) print "done." print "Looking up port number...", port = socket.getservbyname('htt

  • Shell脚本连接oracle数据库的实现代码

    最近研究了一下怎样使用shell 脚本连接数据库,然后执行查询语句.这样对于需要定时执行的脚本,我们可以建个 crontab 去定时执行. 先介绍一下客户端的安装: linux 环境需要用 sqlplus 客户端去连接oracle 数据库,首先我们需要确认有没有安装:which sqlplus如果没有安装就需要先安装一下,安装步骤如下: 到oracle 官网下载,之后安装以下两个模块: rpm -ivh oracle-instantclient11.2-basic-11.2.0.3.0-1.x8

  • 利用xcopy命令实现本地文件复制到远程服务器的方法

    A.net use \\IP地址 密码/user:****** B.xcopy 文件 \\IP地址\ 批处理文件为backup.bat,其代码如下: ========================================================================================= net use \\192.168.1.198\ipc$ Zqf198703 /user:royalpeak xcopy g:\backup\*.* \\192.168.

  • Apache下通过shell脚本提交网站404死链的方法

    网站运营人员对于死链这个概念一定不陌生,网站的一些数据删除或页面改版等都容易制造死链,影响用户体验不说,过多的死链还会影响到网站的整体权重或排名. 百度站长平台提供的死链提交工具,可将网站存在的死链(协议死链.404页面)进行提交,可快速删除死链,帮助网站SEO优化.在提交死链的文件中逐个手动填写死链的话太麻烦,工作中我们提倡复杂自动化,所以本文我们一起交流分享Apache服务中通过shell脚本整理网站死链,便于我们提交. . 1.配置Apache记录搜索引擎 Apache是目前网站建设最为主

  • 使用命令行重启Windows服务器的方法

    命令: c:/> shutdown /r 通常大多数用户的使用GUI图形界面方式访问远程或本地的Windows系统.在某些情况下,我们没有图形界面的系统重启按钮,但我们仍然可以使用命令行重新启动远程服务器.本文将帮助你重新启动的远程Windows Server使用命令行提示符. 使用命令行重新启动Windows Server 只需使用shutdown的 /r 命令来重新启动Windows服务器.以下是shutdown命令的各种例子. 重新启动本地系统 c:/> shutdown /r 重新启动

  • Python设置在shell脚本中自动补全功能的方法

    本篇博客将会简短的介绍,如何在ubuntu中设置python自动补全功能. 需求:由于python中的内建函数较多,我们在百纳乘时,可能记不清函数的名字,同时自动补全功能,加快了我们开发的效率. 方法以及要求:设置过程中需要看客具备一点ubuntu的基本知识,当然不懂也没有关系,跟着一步一步走,不懂得可以学习一下ubuntu的文件系统. 具体步骤 1.首先创建一个文件:~/.pythonrc 在ubuntu中创建文件的命令为: sudo gedit ~/.pythonrc #sudo表示使用管理

  • GoLand一键上传项目到远程服务器的方法步骤

    我们开发项目常常将项目上传到linux远程服务器上来运行,查看日志等等,每次连接终端输入命令上传文件总是很烦,最近正好在学go开发项目,用到了goland,整理一下我的配置的步骤分享一下 一.tools->deployment->configuration 二.弹出框点击左上角+号,选择SFTP,弹出框输入一个名字就好了 三.填入ssh configuration,这个就是你用ssh连接的linux的那个名字 例如:zhangsan@10.123.123.13 然后点击test connect

随机推荐