`
zhuqinglin
  • 浏览: 27716 次
  • 性别: Icon_minigender_1
  • 来自: 郑州
社区版块
存档分类
最新评论

sendmail.sh

阅读更多

#!/bin/sh
# let 做整数运算
let fst_tag=0

file_path='/home/womail/sendmail/file'

while true
do
        let month=`date +%Y%m`
        let day=`date +%d`
        HOUR=`date +%H`
        let hour=`echo $HOUR|bc`
        minute=`date +%M`
        echo 'sysdate='$day'-'$hour':'$minute
        if [ $hour -ge 7 -a $hour -le 17 ]
        then
                let process_tag=`ps -ef | grep sendmail | grep -v grep | wc -l`
                if [ $hour -eq 7 -a $fst_tag -eq 0 -a $process_tag -eq 0 ]
                then
                        last_day=`date -d '1 days ago' +%Y%m%d`
                        cur_day=`date +%Y%m%d`
                        for file in `ls $file_path/*$last_day* $file_path/*/*$last_day* | grep -v flag`
                        do
                                new_file=`echo ${file/$last_day/$cur_day}`
                                echo 'old_file='$file';new_file='$new_file
                                mv $file $new_file
                        done

                        echo 'start_java first'
                        cd /home/womail/sendmail
                        nohup java -jar -Xms128m -Xmx1024m /home/womail/sendmail/20140610_sendmail.jar >> /home/womail/sendmail/logs/send_mail.log &
                        cd /home/womail/sendmail/sh

                        let process_tag=`ps -ef | grep sendmail | grep -v grep | wc -l`
                        if [ ${process_tag} -eq 1 ]
                        then
                                let fst_tag=1
                        fi
                fi
                if [ $hour -eq 17 -a $fst_tag -eq 1 ]
                then
                        let fst_tag=0
                fi

                interrupt_file='/home/womail/sendmail/file/flag/'$month$day'.txt'
                echo 'interrupt_file='$interrupt_file
                #if [ $process_tag -eq 0 -a -f ${interrupt_file} ]
                if [ $process_tag -eq 0 ]
                then
                        echo 'start_java'
                        cd /home/womail/sendmail
                        nohup java -jar -Xms128m -Xmx1024m /home/womail/sendmail/20140610_sendmail.jar >> /home/womail/sendmail/logs/send_mail.log &
                        cd /home/womail/sendmail/sh


                fi
        fi

        sleep 60
done

分享到:
评论

相关推荐

    Shell脚本日志关键字监控+告警.docx

    Linux 服务器日志监控与告警系统 本文将详细介绍如何使用 Shell 脚本来监控 Linux 服务器日志,并在出现...当日志文件出现关键字异常时,CheckLogs.sh 脚本会触发 SendMail.sh 脚本,发送邮件告警信息到邮件联系人。

    如何在Linux下安装Sendmail服务器软件的方法.docx

    ### 如何在Linux下安装Sendmail服务器软件 #### 一、引言 Sendmail是一款广泛使用的邮件传输代理(MTA),用于在Unix和类Unix系统(包括Linux)上处理电子邮件的接收、转发和投递。本文将详细介绍如何在Linux环境下...

    sendmail安装配置全过程

    4. 保存并退出编辑器,回到sendmail源码目录,运行`sh ./Build -c`来编译源代码,这里的-c参数确保了配置的更新会被编译过程识别。 5. 编译无误后,执行`sh ./Build install`进行安装,这将安装sendmail服务及相关...

    batch_build:shell自动化出包和补丁持续集成工具适用于unity平台

    批量构建 此项目包含两部分内容: 出包脚本build目录 出补丁脚本build_ab目录 Jenkins出包脚本: unity支持以批处理的模式打包,需要c#测距好的接口,Shell可以直接调用...sendmail.sh打包生成后,给打包人发送邮件 u

    zabbix3.2.1发邮件设置

    - 创建报警脚本 `sendmail.sh`: ```bash vi sendmail.sh ``` 并输入以下内容: ```bash #!/bin/bash to_email=$1 subject=$2 body=$3 smtp_server=smtp.163.com from_email=user@163.com user=user@...

    backup.sh:一个简单的脚本,可以尽可能轻松地创建您正在处理的内容的过时备份

    8. **邮件通知**:脚本可能集成邮件通知功能,如使用 `mail` 或 `sendmail` 命令,当备份完成或遇到错误时,发送通知给用户。 9. **定时执行**:为了自动化备份过程,这个脚本可能与 `cron` 定时任务服务配合,定期...

    shell脚本通过sendMail25端口发送email邮件.rar

    在创建shell脚本时,可以将这些命令封装到一个.sh文件中,然后通过chmod +x命令赋予脚本执行权限。运行脚本时,只需提供必要的参数,如邮件内容、收件人、发件人等。 对于初学者,理解SMTP协议的工作原理、`...

    Linux发邮件之mail命令详解

    为了更方便地发送邮件,可以编写一个简单的shell脚本,例如`sendmail.sh`: ```bash #!/bin/bash #author:findyou help(){ echo "eg: $0 [Subject] [address] [content_file] [file]" echo "" exit 1 } if [ !...

    Zabbix3.0邮件报警配置

    编写一个名为 `sendmail.sh` 的简单脚本,该脚本接收参数并用它们来构建邮件发送命令。 接下来,在Zabbix图形界面中,我们要配置报警媒介类型,创建一个新的类型,并指定参数:`{ALERT.SENDTO}` 作为收件人地址,`{...

    CIS_Solaris_10_Benchmark_v5.0.0

    Table of Contents Table of Contents ....................................................................................................................................................

    linux 定时发送邮件 应用sendmail技术

    由于自己记性太差,很难记住朋友的生日,所以突发奇想,写了个简单的shell程序,主要目的... 特地共享出来和大家一起分享,修改mail_check.sh程序的变量,最好每天8点执行,显得比较真实,其它的配置文件在conf目录下。

    Zabbix使用手册V2.0

    6. **报警邮件发送**:为了发送报警邮件,你可以编写一个Python脚本,如`SendMail.py`,并将其路径添加到`AlertScriptsPath`配置选项中。同时,需要创建新的媒体类型以定义邮件通知方式,并在Action中定义当触发器...

    stackoverflowlogin:stackoverflow自动登录小程序

    添加SendMail.java发件邮箱授权码。 下载地址: 实现功能 自动登录stackoverflow 项目简要说明 使用HttpClient,附带表单参数,向stackoverflow发送post请求 开发说明流程 使用浏览器分析stackoverflow的登录页面...

    自动发送AWR报告到邮箱

    4. **编写Shell脚本**:`autoawr.sh` 将封装上述步骤,包括调用SQL脚本生成报告、转换格式以及使用`mutt`、`sendmail`或其他邮件发送程序发送邮件。 5. **调度任务**:最后,你需要将这个脚本添加到操作系统级别的...

    用shell+sendmail实现服务器监控报警小脚本

    脚本的核心部分是一个名为`check.sh`的Shell脚本。这个脚本中定义了一个函数`checkmail`,用于调用sendEmail发送邮件。函数接受一些变量,如邮件主题、邮件内容等,然后通过Perl的sendEmail命令行工具发送邮件。在主...

    Linux-nohup日志拆分

    sendmail-8.14.4-9.el6.x86_64.rpm ``` - 安装RPM包: ```bash rpm -ivh --nodeps *.rpm ``` #### 三、Crontab的服务管理命令 安装完`crontab`后,可以通过以下命令管理服务: - 启动服务:`service crond ...

    《Linux 操作系统》课程 大型作业

    - **命令行参数**:`$1`代表命令行传入的第一个参数,如在示例A中,用户可以通过`./m.sh 100`指定循环次数。 - **字符串操作**:在示例B中,检测用户输入是否为4位数字,使用`${#num}`获取字符串长度,`[[ $num !=...

    使用Mutt+msmtp+crontab监控主机磁盘使用率并定时发送邮件通知.doc

    set sendmail="/usr/bin/msmtp" set use_from=yes set realname="xxx" set editor="vim" ``` 为了发送邮件,确保防火墙允许25号端口通信。在Ubuntu中,可以暂时关闭防火墙测试: ```bash sudo ufw stop ``` 在腾讯...

    postfix邮箱搭建

    由于 CentOS 默认安装了 sendmail,因此我们首先需要卸载它以避免与 Postfix 冲突: ``` # rpm -e --nodeps sendmail ``` 接下来通过 `yum` 安装 Postfix: ``` # yum install postfix ``` 默认情况下,Postfix 将...

Global site tag (gtag.js) - Google Analytics