+ -
当前位置:首页 → 问答吧 → 怎么写crontab脚本.20分钟没有检测到a.sh在执行,就自动启动a.sh。谢谢先。我系统是suse10 linux,不过我想差不多吧 。

怎么写crontab脚本.20分钟没有检测到a.sh在执行,就自动启动a.sh。谢谢先。我系统是suse10 linux,不过我想差不多吧 。

时间:2011-11-15

来源:互联网

怎么写crontab脚本.20分钟没有检测到a.sh在执行,就自动启动a.sh。谢谢先。我系统是suse10 linux,不过我想差不多吧 。

作者: yuwengfanshu   发布时间: 2011-11-15

*/20 * * * * /tmp/monitor.sh >>/tmp/monitor.log 2>&1

作者: ljc007   发布时间: 2011-11-16

怎么写个简单点的,发觉某个脚本不再运行的脚本 ?

作者: yuwengfanshu   发布时间: 2011-11-16

怎么看a.sh不在运行了。总体来说用ps |grep 组合就可以了吧。但具体脚本忘记了。可否谁帮忙写个。

作者: yuwengfanshu   发布时间: 2011-11-16

[root@RHEL6A scripts]# more monprocess.sh 
flagvsftpd=`ps -A|grep vsftpd|wc -l`
if [ $flagvsftpd -lt 1 ]
then
echo 'start your process here.'
fi

比如上面这样写就可以判断vsftpd进程是否存在,但是我在试用来监控shell脚本时发现不行,
[root@RHEL6A scripts]# more s1.sh 
sleep 1m
比如运行上面这个脚本,ps -A看到的是sleep这个进程,而监控不到s1.sh这个脚本
网上有说法是在你要监控的脚本中创建一个临时文件用来判断,在脚本退出后删除临时文件

没有找到特别好的方法

上面这是在rhel6上的环境

作者: askandstudy   发布时间: 2011-11-16

引用 3 楼 yuwengfanshu 的回复:
怎么看a.sh不在运行了。总体来说用ps |grep 组合就可以了吧。但具体脚本忘记了。可否谁帮忙写个。

Assembly code
#!/bin/bash
n=`ps -ef | grep "test.sh" | grep -c -v "grep"`
if [ $n -gt 0 ]; then
    echo yes
else
    echo no
fi

作者: ljc007   发布时间: 2011-11-16

引用 4 楼 askandstudy 的回复:
比如上面这样写就可以判断vsftpd进程是否存在,但是我在试用来监控shell脚本时发现不行,
[root@RHEL6A scripts]# more s1.sh
sleep 1m
比如运行上面这个脚本,ps -A看到的是sleep这个进程,而监控不到s1.sh这个脚本
网上有说法是在你要监控的脚本中创建一个临时文件用来判断,在脚本退出后删除临时文件

在s1.sh开头加一句:
#!/bin/bash

作者: ljc007   发布时间: 2011-11-16

引用 6 楼 ljc007 的回复:
引用 4 楼 askandstudy 的回复:

在s1.sh开头加一句:
#!/bin/bash


多谢高手指点,果然可以!

作者: askandstudy   发布时间: 2011-11-16

相关阅读 更多

热门下载

更多