本地shell脚本中ssh到远程服务器并执行命令

本地shell脚本中ssh到远程服务器并执行命令,第1张

        在实际运用中在当前服务器执行命令后,需要在另一台服务器继续执行某些命令,分开去到另一台服务器执行也是比较麻烦的,因此整理下集中执行的方式

1、首先配置ssh免密操作

Linux 下实现SSH互信: https://www.jianshu.com/p/2456d98aa607

2、简单命令

ssh root@192.168.1.1 "cd /var/liblscd "

2.1 使用时注意,双引号必须有。若没加双引号,第二条及之后的命令会在本地执行

2.2 分号是将两条语句间隔开

2.3 单双引的区别:单引号不会解析值,是什么就传什么;双引号会解析值,将解析结果传过去

3、多条命令

     ssh root@192.168.1.1<<reallssh

      cd /var/lib/test

      tar -zxvf api.com.tar.gz

      ......

      exit

      reallssh

3.1 命令写在 << reallssh(开始) 至 reallssh(结束) 之间

3.2 reallssh可自己定义为其他形式

3.3 在结束前加上exit退出远程

4、可能遇到的问题

问题:远程登录主机时出现Pseudo-terminal will not be allocated because stdin is not a terminal. 错误

解决方案:字面意思是伪终端将无法分配,因为标准输入不是终端。

所以需要增加-t -t参数来强制伪终端分配,即使标准输入不是终端。

to force pseudo-tty allocation even if stdin isn’t a terminal.

参考样例如下:

ssh -t -t user1@192.168.1.1 -p 22

--------------------------------------------------------------------------------

参考:https://blog.csdn.net/jinking01/article/details/84386769

由于服务器性能问题,通过shell脚本,定时检测进程运行状态。并自动重启。

check.sh

除此之外,还要设计Linux的crontab定时任务

编辑内容:

Linux下的任务调度分为两类:系统任务调度和用户任务调度。

cat /etc/crontab

先贴一下,我的jenkins里最后核心配置

remove_jar.sh脚本:

start_jar.sh脚本内容:

remove_jar.sh 和 start_jar.sh 在jenkins服务器上,需要将这两个shell在0.0.0.0(不能暴露)的远端去执行

没错,客官您一眼就看出来了,觉得简单的不值一提吧,先别着急,对搜这个问题的小菜鸡来说这里面也是大有文章,听我一一道来。

1、第一个问题:ps -ef|grep xxx.jar查到多余的pid

现象:在0.0.0.0上行 ps -ef | grep alk-wxapi-test.jar | grep -v grep | awk '{print $2}' 只能查到一个pid,但是把这句话放到shell脚本里,在本地使用命令上远端执行,就会找到3个pid,而且kill 时提示失败的错误。

现在已经知道原因了,但是当时确实是个问题。

已经解决不方便复现了,因此就描述一下就行了。

原因:shell里的这个命令也是通过bash在远程执行的,所以找到的别的 无关紧要 的pid其实是bash,因此在grep是除了排除grep本身( grep -v grep )外还要排除bash( grep -v bash )

最后命令是:

2、远程执行脚本,里面有nohup java -jar,发生错误: nohup: failed to run command ‘java’: No such file or directory

这是因为nohup时java环境变量没有读到,处理方式就是在nohup执行前加入

3、其他思路

4、第二条说jdk的路径因为每个服务企业都不一样,所以需要手动传改,这一点已经在脚本上做了修改,启动脚本上携带的第一个参数就是jdk的安装路径

这两个也都是比较好的思路,以后肯定有机会体验的,本篇到此。

ps -ef |grep -v 在shell sh 脚本中貌似无效?

linux下搭建zookeeper集群遇到的坑

nohup: cannot run command异常解决

Zookeeper not starting, nohup error


欢迎分享,转载请注明来源:夏雨云

原文地址:https://www.xiayuyun.com/zonghe/201390.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-02
下一篇2023-04-02

发表评论

登录后才能评论

评论列表(0条)

    保存