`
lym6520
  • 浏览: 705835 次
  • 性别: Icon_minigender_1
  • 来自: 福建
社区版块
存档分类
最新评论

linux 定时任务检查服务器是否正常

 
阅读更多
通过curl命令判断url返回状态,以此来确定服务是否正常:
#!/bin/bash
STATE=`curl --head lym6520.iteye.com | awk 'NR==1' | awk '{print $2}'`;
if [ "$STATE" -eq "502" ] ;then
echo "echo "报警" "http error 502" ${date+"%y-%m-%d %H:%M:%S"}";
java -jar /test/m-tools-sendMail.jar lym6520@qq.com lym6520.iteye.com 502
elif [ "$STATE" -ne "502" ] && [ "$STATE" -eq "200" ] && [ "$STATE" -eq "302" ]  ;then 
echo "报警" "Web Server Stop Working" ${date+"%y-%m-%d %H:%M:%S"}
java -jar /test/m-tools-sendMail.jar lym6520@qq.com lym6520.iteye.com 服务器挂了
fi


通过调用java方法来发送邮件or短信提醒(加*号为隐私数据)
这里给出发送邮件demo:
package com.m;

import org.apache.commons.mail.EmailException;
import org.apache.commons.mail.HtmlEmail;

import java.util.Date;

/**
 * Hello world!
 *
 */
public class App  {
    private static final String DEFAULT_SMTP = "smtp.qq.com";//默认邮箱服务器SMTP地址
    private static final String DEFAULT_FROM = "******@qq.com"; //发送邮箱
    private static final String DEFAULT_USERID = "******@qq.com"; //用户名-密码。分别为发件人在邮件服务器上的注册名称和密码
    private static final String DEFAULT_PASSWORD = "******"; //用户名-密码。分别为发件人在邮件服务器上的注册名称和密码
    private static final String DEFAULT_CHARSET = "utf-8";

    public static void main( String[] args ){
        String[] addToArr =  args[0].split(",");
        String title =  args[1];
        String htmlMsg = args[2];
        int len = args.length;
        try {
            // 不要使用SimpleEmail,会出现乱码问题
            HtmlEmail email = new HtmlEmail();
            // 这里是发送服务器的名字
            email.setHostName(len >=8 ? args[3] :DEFAULT_SMTP);
            // 编码集的设置
            email.setCharset(len >=8 ? args[4] :DEFAULT_CHARSET);
            // 收件人的邮箱
            for (String addTo : addToArr) {
                email.addTo(addTo);
            }

            // 发送人的邮箱
            email.setFrom(len >=8 ? args[5] :DEFAULT_FROM);
            // 如果需要认证信息的话,设置认证:用户名-密码。分别为发件人在邮件服务器上的注册名称和密码
            email.setAuthentication(len >=8 ? args[6] :DEFAULT_USERID,
                    len >=8 ? args[7] :DEFAULT_PASSWORD);
            email.setSubject(title);
            // 要发送的信息
            email.setHtmlMsg(htmlMsg);
            email.setSentDate(new Date());
            // 发送
            email.send();
        } catch (EmailException e) {

        }

    }
}



方式一:使用程序默认设置好的邮箱发送:
java -jar /test/m-tools-sendMail.jar [收件人邮箱] [标题] [内容]

方式二:指定发送账号信息
java -jar /test/m-tools-sendMail.jar [收件人邮箱] [标题] [内容] [默认邮箱服务器SMTP地址] [编码格式] [发送邮箱] [发送账号] [发送密码]


附件jar包可直接运行,jkd1.6下编译(有邮箱账号信息哦,不许耍赖偷了丫)


通过crontab命令来定时扫描服务器是可正常访问
通过以下命令加入定时任务信息
crontab -u root -e

写入如下内容(即每5分钟执行一次):
*/5 * * * * /test/server_status_check.sh


可以使用命令 crontab -l 来查看任务信息

最后重启下定时任务,让命令生效
/etc/init.d/crond restart

分享到:
评论

相关推荐

    Linux下定时任务,命令启停jar包服务

    Linux 下的定时任务和 jar 包服务管理 Linux 作为一款流行的操作系统,提供了许多强大的功能,其中之一就是定时任务的管理。定时任务允许用户在指定的时间执行特定的命令或程序,从而实现自动化操作。在 Linux 中,...

    Linux定时任务1

    Linux定时任务是Linux系统中非常重要的功能,它允许用户或系统自动执行预定的任务,无需人工干预。这在服务器管理和自动化运维中尤其有用。本文将详细探讨Linux定时任务的相关知识点。 首先,程序是预编写的执行...

    Linux定时任务以及脚本编写docx

    本文档将详细介绍如何创建和配置Linux定时任务,以及编写和执行简单的shell脚本。 首先,让我们看看脚本样例1,这是一个用于监控Linux服务器性能的bash脚本。它包含以下几个关键部分: 1. **获取服务器IP地址**:...

    linux服务器如何每天定时的备份mysql

    在正式部署定时任务之前,我们应该先手动运行脚本,检查其是否能够正常工作: ```bash chmod +x /root/mysql_backup.sh ./mysql_backup.sh ``` 运行完成后,可以检查`/mysql_backup`目录下是否出现了带有`.sql.gz`...

    Linux定时任务之我见

    这篇“Linux定时任务之我见”可能深入探讨了如何在Linux环境下设置和管理这些任务,以便提高效率和可靠性。通过定时任务,我们可以安排脚本或命令在特定时间执行,比如定期备份数据、系统维护或发送提醒邮件。 ...

    SFTP定时扫描本地文件上传到Linux服务器

    7. **自动化任务调度**:可以使用Java的`ScheduledExecutorService`或者第三方库如Quartz,将文件扫描和上传任务设置为定时任务,按照预设的时间间隔自动执行。 8. **权限和安全性**:在上传文件到Linux服务器时,...

    opencron一个功能完善真正通用的linux定时任务调度定系统

    《opencron:全面解析Linux定时任务调度系统的强大功能》 在现代IT运维中,定时任务调度系统扮演着至关重要的角色。它能够自动执行预设的任务,如数据备份、日志清理、系统检查等,从而极大地提高了工作效率。今天...

    phpcms 定时任务模块

    phpcms 的定时任务模块摆脱了对 Windows 任务调度器的依赖,这意味着即使你的服务器是基于 Linux 或其他非 Windows 系统,也能正常运行这些任务。这对于使用虚拟主机的用户来说是一个福音,因为很多虚拟主机服务通常...

    Linux下实现定时任务综述.pdf

    Linux 下实现定时任务综述 Linux 操作系统作为一个流行的开源操作系统,广泛应用于服务器、云计算、嵌入式系统等领域。然而,在 Linux 系统运维过程中,经常会遇到需要定时或周期性地执行一些命令或脚本的情况。...

    linux中定时任务的讲解

    个人执行的工作是某用户定期要做的工作,例如每隔 10 分钟检查邮件服务器是否有新信。 计划任务的实现 ------------- 计划任务的实现有多种方法,常用的命令包括 at、batch、crontab 等。 ### at 命令 at 命令...

    批量自动巡检Linux服务器.pdf

    Linux服务器日常巡检内容包括系统检查、CPU信息检查、内存检查、文件系统检查、网络服务检查、安全检查、日志检查、定时任务检查和应用检查等方面。 系统检查 系统检查是 Linux 服务器巡检的重要组成部分。通过...

    定时任务脚本制作

    在IT领域,定时任务脚本是自动化工作流程中的重要组成部分,尤其在服务器管理和运维工作中扮演着不可或缺的角色。定时任务允许我们预设特定时间执行一系列操作,例如数据备份、日志清理、系统监控或发送报告等。本文...

    毕业设计:基于python爬虫、linux定时任务的易班自动签到系统基础框架.zip

    【标题】基于Python爬虫和Linux定时任务的易班自动签到系统基础框架是一个典型的结合了网络数据抓取和自动化执行的技术实现。该系统利用Python爬虫技术来模拟用户行为,实现对易班网站的自动签到,再通过Linux系统的...

    定时url,定时任务执行,每隔秒执行请求网址

    在IT领域,定时任务执行和URL请求是两个关键概念,特别是在自动化运维、数据抓取以及系统监控中。本文将深入探讨这两个主题,并介绍一个适用于Windows和Linux系统的稳定工具。 首先,"定时url"指的是设置一个定时器...

    Tomcat在Linux下的定时重启

    下面将详细介绍在 Linux 中创建定时任务,创建 Tomcat 重启的脚本文件,并增加 Tomcat 定时重启任务的方法和步骤。 一、环境准备 在开始之前,需要准备一个 Linux 系统,例如 Ubuntu,並安装好 Tomcat 6.0。在继续...

    linux 运维自动监测脚本(CPU,内存,磁盘,负载),自测成功

    定时任务`crontab -e`是Linux的定时任务管理工具,可以在特定时间间隔执行我们的监控脚本。例如,设置每天凌晨1点运行一次监控脚本,可以添加如下行到crontab配置中: ``` 0 1 * * * /path/to/your/script.sh ``` ...

    thinkphp 5.1 定时任务,Crontab 计划任务-think-cron.zip

    4. 安装Crontab:在服务器上,使用`crontab -e`命令编辑Cron配置文件,然后添加一条新的任务规则,指定何时运行你的ThinkPHP定时任务。格式如下: ``` * * * * * ...

    linux下远程定时备份oracle数据库

    编辑`crontab -e`命令打开定时任务编辑器,然后根据需要设置备份频率,例如每天凌晨1点执行备份: ```bash 0 1 * * * /path/to/your/backup_script.sh ``` `backup_script.sh`是包含上述expdp命令的脚本,别忘了...

    定时任务工具tomcat+jenkins

    在IT行业中,定时任务是自动化运维和持续集成的重要组成部分,特别是在大型系统中,定期执行的任务如备份、数据清洗、更新检查等是不可或缺的。本文将详细介绍如何利用Apache Tomcat(一个广泛使用的Java应用服务器...

Global site tag (gtag.js) - Google Analytics