1、远程执行前提
在目标主机当前执行用户文件.bashrc配置要执行命令的环境变量,类似/etc/profile下的配置
注意:如果一些命令是全局安装的,则不用在环境变量中配置
/home/deploy_user/.bashrc
/////////begin/////////
export JAVA_HOME=/usr/local/yourdir/tools/jdk1.8.0_151
export PATH=$JAVA_HOME/bin:$PATH
export CLASSPATH=.:$JAVA_HOME/jre/lib/rt.jar:$JAVA_HOME/lib/tools.jar:$JAVA_HOME/lib/dt.jar:$CLASSPATH
export LANG=zh_CN.UTF-8
/////////end///////////
2、远程执行命令
ssh deploy_user@10.114.3.12 "/home/deploy_user/deploy_sh/deploy_8091.sh"
3、目标主机上脚本示例:
//////////begin////////
#!/bin/bash
#retrive pid of current java code
export dst_dir=/usr/local/yourdir/backend/node4customer
export jar_name=tojoy-backend-0.0.1-SNAPSHOT.jar
export jar_port=8091
#export pid=`ps -ef|grep java |grep ${jar_name} |awk -F' ' '{print $2}'`
export pid=`netstat -tnulp|grep ${jar_port}|grep java |awk -F' ' '{print $7}'|awk -F'/' '{print $1}'`
echo The current killed java pid is ${pid}
#firstly kill the current java code
kill -9 ${pid}
export JVM_OPTS="-server -Xms2G -Xmx2G -Xmn896M -Xss512k -XX:PermSize=96M -XX:MaxPermSize=256M -XX:+UseConcMarkSweepGC -XX:+UseParNewGC -XX:CMSFullGCsBeforeCompaction=1 -XX:+UseCMSCompactAtFullCollection -XX:+CMSParallelRemarkEnabled -XX:+UseCMSInitiatingOccupancyOnly -XX:CMSInitiatingOccupancyFraction=70 -XX:+CMSClassUnloadingEnabled -XX:+DisableExplicitGC -XX:+HeapDumpOnOutOfMemoryError"
#start the java code again
echo JAVA_HOME is ${JAVA_HOME}
#this operation is vip
cd ${dst_dir}
nohup java -jar ${JVM_OPTS} ${jar_name} > /dev/null &
echo sleep for 2 seconds
sleep 2
//////////end//////////
【小结】
1> 如果命令是通过安装而不是解压配置的,则基本不用配置当前用户的环境变量,否则,必须在当前用户环境变量中配置;
2> 通过nohup执行,注意将日志重定向到设备/dev/null上,避免nohup.out持续性增大;
3> 在当前主机远程执行目标主机上的脚本,相当以当前用户登录ssh新开一个会话;
4> 要核查已有的环境变量是否生效,可以echo日志分析;
【温馨提示】
如果您觉得满意,可以选择支持下,您的支持是我最大的动力:
分享到:
相关推荐
1. ssh 远程到主机; 2. 切换到root账号; [一般都是切换到root进行密码修改,如果普通用户修改自己的密码,要输入原密码,然后新密码要满足复杂度才OK]; 3. passwd username 使用passwd username 修改 username 的...
远程批量修改linux服务器密码的脚本归类.pdf
主要给大家介绍了关于shell脚本实现同时多台远程主机执行命令的方法,文中给出了详细的代码示例,相信对大家具有一定的参考价值,需要的朋友们下面来一起看看吧。
本文描述了在Linux环境下mysql数据库中,shell脚本下调用sql语句的几种方法,供大家参考。对于脚本输出的结果美化,需要进一步完善和调整。以下为具体的示例及其方法。 1、将SQL语句直接嵌入到shell脚本文件中 代码...
需要对服务器进行批量的修改root密码,还要在每台服务器新建一个用户,如果一个一个登到的服务器上进行修改的话,估计一个下午又没有了,首先想到的是我最喜欢的php,其中有个ssh2 模块,不得不承认用php 来处理这样...
主要介绍了Shell脚本实现自动输入密码登录服务器,本文使用expect来实现这个需求,讲解了expect的安装及使用脚本,需要的朋友可以参考下
3、设计shell脚本程序,要求用户对/home目录下的文件进行备份,压缩为Linux系统中常用的tar.gz格式。 4、设计shell脚本程序,假设用户建立了目录A和目录B,目录中不包含子目录,要求用户编写一个脚本程序,比较两个...
远程shell脚本 下面的代码放入一个文件:hello.sh,脚本的内容很简单只是用来测试,回显输出“hello <参数1> ” #! /bin/sh echo "hello $1\n"; 然后我把它放到远程主机的/root目录下面,远程主机的IP是1.1.1.1...
rsh命令的英文全称为“remote shell”,该命令提供的用户环境,也就是shell,以便指令能够在指定的远端主机上执行。 语法格式: rsh [参数] 常用参数: -d 使用Socket层级的排错功能 -l 指定要登入远端主机的...
CMD命令:开始->运行->键入cmd或command(在命令行里可以看到系统版本、文件系统版本) 命令大全 1. gpedit.msc-----组策略 2. sndrec32-------录音机 3. Nslookup-------IP地址侦测器 ,是一个 监测网络中 DNS...
* * * * * * * 目录页 Linux远程接入 shell&文件传输 shell SecureCRT/xshell 需要启用sshd 文件传输 SecureCRT/xshell VNC 软件 服务端:tigervnc-server,客户端:tigervnc 配置(注:每个用户的操作只对自己生效...
本文以Mandrake Linux 9.1(Kenrel 2.4.21)为例,介绍Linux下的安装和登录命令。 immortality按:请用ctrl+f在本页中查找某一部分的内容或某一命令的用法。 ----------------------------------------------------...
5.3 脚本执行命令 5.3.1 exit 命令 5.3.2 trap命令 5.3.3 if 命令 5.3.4 case 命令 5.3.5 for 语句 5.3.6 while命令 5.3.7 until命令 5.3.8 break 命令 5.3.9 continue 命令 5 .4 控制shell 5.4.1 创建命令表 5.4.2...
PublicSysMoniror.sh:公用系统监控脚本,用于远程监控,调用公用监控脚本入口 sysCpuMemDiskMonitor.sh:系统CPU内存和硬盘使用率监控 cleanLogFile.sh:清理日志文件脚本 ProbeUrlMonitor.sh:探测URL监控...
第一部分:常用命令 常用命令/文件处理 0:基础功能 1:ls 显示文件目录 语法:ls 选项[-ald][文件或目录] 2:cat 显示文件内容(内容少适合) 语法:cat[文件名] 3:tac 显示文件内容 语法:tac[文件名] 4:more 分页...
并利用Android系统底层基于Linux嵌入式系统的特性,在被控终端上建立Linux代理执行shell命令,实现Android移动终端的远程控制。该系统可以完成一些需要获取root权限才能执行的操作,包括对Android的系统控制、文件...
6.5.1 以root身份运行 100 6.5.2 创建引导盘 100 6.5.3 误删除文档 101 6.5.4 文件工具箱 101 6.5.5 当系统不能引导时,Red Hat会 来救援 102 6.5.6 获取更多的信息 103 6.6 小结 104 第7章 SMTP和协议 105 7.1 ...
init程序需要读取/etc/inittab文件作为其行为指针,inittab是以行为单位的描述性(非执行性)文本,每一个指令行都具有以下格式: id:runlevel:action:process其中id为入口标识符,runlevel为运行级别,action为...
监控数据库的shell脚本经典案例 安装mysql,和开启mysql服务 yum install mariadb-server -y systemctl start mariadb firewall-cmd --add-service=mysql 1. 检测端口命令 方法一 [root@localhost sbin]# netstat -...
2.9 最后的注意点 3 开始安装 3.1 安装程序的用户界面 3.1.1 用键盘导航 3.1.2 关于虚拟控制台 3.2 开始安装程序 3.2.1 启动安装程序 3.3 开始安装 3.3.1 选择一种语言 3.3.2 选择一种键盘方式 3.3.3 ...