检查某个服务产生core文件只发送1次短信,相同的core不发送(shell)

#!/bin/bash
#--------------------------------------------------  
#Created:2015-04-27
#Author:jimmygong
#Mail:[email protected]
#Function:check core && send message
#Version:1.0
#--------------------------------------------------
set -o nounset
set -o errexit

onlinedir="/opt/online"
tellist=(12345678912
12345678913
)

function sendmessage () {
currdate="$(date +%Y/%m/%d)"
[email protected]
ip=`ifconfig eth1|awk ‘/inet addr:/‘|awk -F: ‘{print $2}‘|awk -F" " ‘{print $1}‘`
for phone in ${tellist[@]}
do
    links -dump "http://192.168.1.1/22222?mobile=$phone&msg=$currdate:$message:$ip&sign=11111111111111111111111111111111" > /dev/null 2>&1
done
}

function checkcore() {
num=`ls -1 $onlinedir|grep "^online"|wc -l`
for ((k=1;k<=${num};k++))
do
    listdir=`ls -1 $onlinedir|grep "^online"|sed -n $k‘p‘`
    for j in $onlinedir/$listdir
    do
        cd $j
        touch corefile
        for m in core.*
        do
            if [[ -e $m ]]
            then
                    core=0
                for f in `cat $j/corefile`
                do
                    if [[ $m = $f ]]
                    then
                        core=1
                        break
                    fi
                done
                if [[ $core -eq 0 ]]
                then
                    message="core"
                    sendmessage $message            
                    echo $m >> $j/corefile
                fi
            fi
        done
    done
done
}

checkcore
exit 0

============================说明======================================
目录结构
ll /opt/online/
drwxr-xr-x 2 root root 4096 2015-04-27 18:20 online.11
drwxr-xr-x 2 root root 4096 2015-04-27 18:20 online.22
drwxr-xr-x 2 root root 4096 2015-04-27 18:20 online.33

touch /opt/online/online.11/core.111
执行第1次脚本后会
ll /opt/online/online.11/
-rw-rw-r--. 1 root root 0 Apr 27 22:05 core.111
-rw-rw-r--. 1 root root 9 Apr 27 23:27 corefile
cat /opt/online/online.11/corefile 
core.111
执行第2次时就不会再发送短信和写入到这个corefile文件里了。

[email protected]也可以写成message=""
[email protected]             #所有的位置参数(每个都作为独立的字符串) 等同于"$1" "$2"... "$N"。
set -o nounset #在扩展一个没有的设置的变量的时候,显示错误的信息 
set -o errexit #如果一个命令返回一个非0退出状态值(失败),就退出.
num=`ls -1`    # -1  list one file per line
效果
ls -1 /opt/online/
online.11
online.22
online.33
需要安装links(apt-get -y install links或yum -y install links)
时间: 2024-08-15 08:43:21

检查某个服务产生core文件只发送1次短信,相同的core不发送(shell)的相关文章

【安卓笔记】通过发送特定的短信远程控制手机

实现效果: 1.发送指令#*location*#,可以远程获取到手机的地理位置(经纬度),并以短信的形式返回. 2.发送指令#*locknow*#,可以远程锁屏并设置锁屏密码. 实现原理: 1.注册广播接受者,监听手机收到的短信,并对符合要求的特定短信进行拦截和处理. 2.通过LocationManager获取地理位置. 3.使用DevicePolicyManager实现锁屏.设置锁屏密码等操作. 步骤: 1.创建一个可以获取地理位置的工具类: package cn.edu.chd.mobile

使用“互亿无线”短信验证码接口来实现发送手机验证码功能

今天 突然发神经想到要做一个发送手机验证码的功能,因为看到很多用户注册这个模块都有手机验证这个功能,于是乎,俺就上网查了很多资料,整理了一下,做了一个简单的手机验证码实现功能.不过我用的是试用账号,只可以发送30个短信,如果要更多的话,需要充值,这是我感到很遗憾的事情.下面跟着我来实现这个功能吧,大神勿喷哈. 1.首先,上互亿无线注册一个账号,http://www.ihuyi.com/,注册后你可以看到你的账号参数信息: 2.使用VS创建一个空的Web应用程序: 注册静态页面:index.htm

通过RS232发送和接收短信(一)

通常,发送和接收短信的终端都是通过串行接口连接电脑,这类设备用得比较多的是GSM Modem和手机.这类设备通常都支持PDU模式,但仍有少数设备只支持Text模式. 设备硬件连接好以后可以通过发送AT指令测试设备是否连接正确能否正常通讯.在这里我使用Windows自带的"超级终端"工具进行通讯.此工具可以在程序--附件--通讯里面找到,如果没有请确认是否安装了此组件.或者在运行里面输入"hypertrm"也可以快速启动"超级终端". 以下所有范例

android基础----&gt;发送和接收短信

收发短信应该是每个手机最基本的功能之一了,即使是许多年前的老手机也都会具备这项功能,而Android 作为出色的智能手机操作系统,自然也少不了在这方面的支持.今天我们开始自己创建一个简单的发送和接收短信的应用. 目录导航 接收短信 发送短信 友情链接 接收短信 项目的结构如下:一个简单的接收和发送短信的功能 一.定义一个接收短信的广播:当手机接收到一条短信的时候,系统会发出一条值为android.provider.Telephony.SMS_RECEIVED 的广播,这条广播里携带着与短信相关的

企业短信通 C# HTTP接口 发送短信

/* 功能: 企业短信通 C# HTTP接口 发送短信 修改日期: 2014-09-01 说明: http://api.cnsms.cn/?ac=send&uid=用户账号&pwd=MD5位32密码&mobile=号码&content=内容 状态: 100 发送成功 101 验证失败 102 短信不足 103 操作失败 104 非法字符 105 内容过多 106 号码过多 107 频率过快 108 号码内容空 109 账号冻结 110 禁止频繁单条发送 111 系统暂定发送

实战Nagios+Ganglia发送警告信息,短信,微信等

实验环境: 物理主机    redhat7.0 内核版本 3.10.0-123.el7.x86_64    虚拟机    redhat6.5 内核版本 2.6.32-431.el6.x86_64        服务器端: server1.example.com    172.25.254.1        客户端:    server2.example.com    172.25.254.2 本次实验基于前面的实验之上,服务器端已经配置完成了nagios+ganglia服务,且让虚拟机(服务器s

destoon 短信发送函数及短信接口修改

// $DT在common.inc.php中定义, $CACHE = cache_read('module.php'); $DT = $CACHE['dt'];  从缓存里读取网站配置信息. //$db 数据库类,$DT 全局配置,$DT['sms'] 开启手机短信,$DT_TIME系统时间,$DT_IP 当前ip地址,$_username当前用户 //DT_CLOUD_UID  DT_CLOUD_KEY 在common.inc.php 中定义 //define('DT_CLOUD_UID',

通过RS232发送和接收短信(二)

查询短信: 1. 查询具有相同状态的所有短信 指令:AT+CMGL=n 其中n代表0-4的数字. 0--未读得短信.执行命令以后自行变为已读取. 1--已读短信. 2--草稿. 3--已发送短信. 4--全部 返回(例): +CMGL: 76,3,,20 0891683108200805F011620D91683194041338F50000FF0530972D8603 76--序号 3--状态:发送 20--PDU串长度 2. 查询特定序号的短信 指令:AT+CMGR=n8 其中n代表序号 返

发送与接收短信

权限: <uses-permission android:name="android.permission.READ_SMS"></uses-permission> < uses-permission android:name="android.permission.SEND_SMS"></uses-permission> 发送短信: 1. 获得默认的消息管理器 2. 通过sendTextMessage发送短信. Sm