当前时区为 UTC + 8 小时



发表新帖 回复这个主题  [ 1 篇帖子 ] 
作者 内容
1 楼 
 文章标题 : 一个问题,清大家指点一下
帖子发表于 : 2009-09-01 21:52 

注册: 2007-07-11 22:45
帖子: 435
送出感谢: 0 次
接收感谢: 0 次
先说一下环境:
A Desktop, CentOS 5.3 64
B Server RHEL 4.6
C Node RHEL 4.6

user通过ssh登录B,以为B为跳板登录(rsh无密码登录)C
通过配置:
user在A上通过ssh user@IP_B 不需要密码
user在B上通过ssh user@IP_A 不需要密码
user登录B后,通过rsh IP_C, 到达C 不需密码;

A C不能直接通讯。

现在,在C上运行一个作业,需要监控;
发现在B 上通过下面的指令可以监控:
rsh $PrivateNode 'ps -u user'

我发现,如果稍微处理一下:
tmp=`rsh $PrivateNode 'ps -u user' | egrep 'Com.exe' | wc -l `

如果哦$tmp==1,就说明我的计算在进行,
这样,我的监控思路是:
每10min运行一次, 如果$tmp=1就继续循环;
如果#tmp==0,
通过下没的指令:
ssh user@A_IP 'mysms -m "Job Done. Pls Check. " ' > /dev/null 2>&1 &

我些的指令如下:文件名称: myNode.sh
#!/bin/bash

PrivateNode=node20
# here is the private node I am using

### Private Functions ###

# 01

function condition
{
value_tmp=`rsh $PrivateNode 'ps -u wangjian' | egrep g03 | wc -l`

}

# 02

function output
{
ssh -p 8022 abbott@192.9.206.50 'sms -f 13596175450 -p ****** -t 13596175450 -m "^_^,Work Finished, Private Node, Down. Pls Check. " ' > /dev/null 2>&1 &
exit
}

condition

while [ $value_tmp == 1 ];
do

condition
sleep 10m
done

output
# end


放在~/bin目录,
后台运行,发现出现两个myNode.sh进程, ID连号,
尽管是我后台运行,
但是user在B上退出登录,字符模式,exit退出,
通过top检测看到,
我一退出,myNode.sh进程就退出....


现在问题:
1
运行一次,为何出现两个myNode.sh进程?

2
后台运行的,我登录出去之后,为何会停止运行?

或许是我的写法有问题,
请大侠指点.....

为了给自己的工作提供方便,刚刚开始学习使用shell脚本,
很多不明白,希望大侠多多指点.....


另。
我今天也写了几个类似的使用while sleep
通过后台监控的。

但是,是在B上运行,监控B上的东西,然后通过output把信息转发到我的电话机上...

可是,在B上运行,监控C上的东西,然后使用output把信息通过B,调用A机器上的sms指令,发送信息就会不工作,郁闷死了....
top一看,出现两个myNode.sh
状态是T

囧....


页首
 用户资料  
 
显示帖子 :  排序  
发表新帖 回复这个主题  [ 1 篇帖子 ] 

当前时区为 UTC + 8 小时


在线用户

正在浏览此版面的用户:Yahoo [Bot] 和 2 位游客


不能 在这个版面发表主题
不能 在这个版面回复主题
不能 在这个版面编辑帖子
不能 在这个版面删除帖子
不能 在这个版面提交附件

前往 :  
本站点为公益性站点,用于推广开源自由软件,由 DiaHosting VPSBudgetVM VPS 提供服务。
我们认为:软件应可免费取得,软件工具在各种语言环境下皆可使用,且不会有任何功能上的差异;
人们应有定制和修改软件的自由,且方式不受限制,只要他们自认为合适。

Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
简体中文语系由 王笑宇 翻译