linux 远程执行 shell脚本中nohup启动注意
2013-03-25 13:26
1336 查看
工作中需要做一个远程执行shell脚本启动进程的功能,涉及两台服务器,A和B。已经配置好服务器A可以远程不登陆访问服务器B,
执行命令格式如下
ssh usernameB@ip [command]
在服务器B上做的工作是启动一个java进程。具体做法是在usernameB用户当前目录下创建了个sh脚本,脚本中添加nohup 启动。
脚本内容如下:
nohup ./start.sh > /dev/null &
但是一开始在A上执行命令 ssh usernameB@ip ./start.sh 时 能输出脚本start.sh 中的文字打印,但是进程起不了。
搜资料查找原因,原来是远程执行nohup启动时usernameB的环境变量没有跟这起效。需要在start.sh脚本中添加环境变量的临时配置
如下:
export E2E_HOME=/export/home1/inms_col/aris_col/
JAVA_HOME=/opt/jdk1.5.0_16
export JAVA_HOME
PATH=$PATH:$HOME/bin
PATH=$PATH:/usr/kerberos/bin:/usr/local/bin:/bin:/usr/bin
PATH=$JAVA_HOME/bin:$PATH
export PATH
然后重新执行
ssh usernameB@ip [command]
进程正确启动。
执行命令格式如下
ssh usernameB@ip [command]
在服务器B上做的工作是启动一个java进程。具体做法是在usernameB用户当前目录下创建了个sh脚本,脚本中添加nohup 启动。
脚本内容如下:
nohup ./start.sh > /dev/null &
但是一开始在A上执行命令 ssh usernameB@ip ./start.sh 时 能输出脚本start.sh 中的文字打印,但是进程起不了。
搜资料查找原因,原来是远程执行nohup启动时usernameB的环境变量没有跟这起效。需要在start.sh脚本中添加环境变量的临时配置
如下:
export E2E_HOME=/export/home1/inms_col/aris_col/
JAVA_HOME=/opt/jdk1.5.0_16
export JAVA_HOME
PATH=$PATH:$HOME/bin
PATH=$PATH:/usr/kerberos/bin:/usr/local/bin:/bin:/usr/bin
PATH=$JAVA_HOME/bin:$PATH
export PATH
然后重新执行
ssh usernameB@ip [command]
进程正确启动。
相关文章推荐
- Linux(Ubuntu)下设置开机启动shell脚本执行Java程序jar包
- linux环境在tomcat启动或者停止后执行shell脚本,脚本内容备份图片文件夹
- Java 连接远程Linux 服务器执行 shell 脚本查看 CPU、内存、硬盘信息
- Linux远程拷贝&远程执行命令shell脚本
- linux 通过shell脚本在本地执行远程机器命令
- Linux远程执行Shell命令或脚本
- linux远程批量执行命令的shell脚本
- shell技巧--ssh远程执行包含nohup命令的脚本
- Java 连接远程Linux 服务器执行 shell 脚本查看 CPU、内存、硬盘信息
- Linux 开机启动的 执行rc脚本(shell编写)的顺序
- Linux下为可执行shell脚本文件(.sh),制作桌面启动快捷方式
- 在 Linux 启动或重启时执行命令与脚本
- Java通过SSH2协议执行远程Shell脚本(ganymed-ssh2-build210.jar)
- Ganymed SSH-2 for Java系列7之删除远程服务器上的非空目录(运用执行shell脚本的方式)
- shell远程执行脚本、传输数据
- 使用crontab,让linux定时执行shell脚本
- Linux中执行shell脚本的4种方法总结
- 每天一个linux命令(62):sh命令 /Linux中执行shell脚本的4种方法总结
- linux 执行shell脚本的方式及一些区别
- Linux FTP远程备份shell脚本命令