Linux之实现Apache服务器监控、数据库定时备份及通过使用Shell脚本发送邮件

目录

 一、Apache服务器监控

为什么要用到服务监控?

实现Apache服务器监控

二、数据库备份

为什么要用到数据库备份?

实现数据库备份

三、Shell脚本发送邮件

为什么要用使用Shell脚本发送邮件?

实现Shell脚本发送邮件


一、Apache服务器监控

为什么要用到服务监控?

在Linux中监控Apache服务器是非常重要的,原因如下:

  1. 保证服务器稳定性:通过监控Apache服务器,可以及时发现并解决服务器故障、崩溃或其他问题。这可以避免服务器宕机或无法提供正常的服务,确保网站的稳定运行。

  2. 提高性能和响应速度:通过监控Apache服务器的性能指标,如CPU使用率、内存使用率、连接数、请求响应时间等,可以发现性能瓶颈和优化机会。优化服务器的配置和资源分配,可以提高网站的响应速度和用户体验。

  3. 预防安全漏洞和攻击:监控Apache服务器可以帮助发现安全漏洞、异常活动和潜在的攻击。通过监控日志文件、网络流量和异常行为,可以及时采取措施来防止或应对恶意攻击和入侵。

  4. 规划和预测容量:通过监控Apache服务器的负载和资源使用情况,可以了解网站的访问模式和流量趋势。这对于规划服务器的容量和扩展能力非常重要,以满足未来增长的需求。

  5. 管理和维护:监控Apache服务器可以提供有关服务器的详细信息,如版本、模块、配置和运行状态等。这对于服务器的管理、维护和故障排除非常有帮助。

总而言之,监控Apache服务器可以帮助我们了解服务器的状态、性能和安全性,并及时采取相应的措施来保证服务器的稳定运行、提高性能和防止安全问题。这对于网站的可用性、用户体验和业务成功至关重要。

实现Apache服务器监控

在 root 目录下新建一个tomcat_moniter.sh文件并编辑

tomcat_moniter.sh文件内容如下:

#!/bin/bash
# author: 空空bye.
# description: tomcat apache http server# 用于判断tomcat是否启动
port=$(nmap -sT 192.168.181.128 | grep 8080/tcp | grep http | awk '{print $2'})if [ "$port" == "open" ]thenecho "$(date) tomcat is running" >> /tmp/tomcat-access.logelseecho "$(date) tomcat is not running" >> /tmp/tomcat-error.log
fi

$():等同于cmd,shell扫描一遍命令行,发现了$(cmd)结构,便将$(cmd)中的cmd执行一次,得到其标准输出,再将此输出放到原来命令。l's

  • #!/bin/bash 的作用是:用于指定默认情况下运行指定脚本的解释器。当脚本以 #!/bin/bash 开头时,内核就知道用 /bin/bash 这个可执行文件来解释并运行这个脚本。不同解释器的写法如下:

    #!/bin/sh
    #!/bin/bash
    #!/usr/bin/perl
    #!/usr/bin/tcl
    #!/bin/sed -f
    #!/usr/awk -f

    上边每一个脚本头的行都指定了一个命令解释器,注意:#! 后边给出的路径名必须是正确的,否则将会出现一个错误消息,通常是"Command not found"

  • Nmap:(“Network Mapper(网络映射器)”) 是一款开放源代码的 网络探测和安全审核的工具。它的设计目标是快速地扫描大型网络,当然用它扫描单个主机也没有问题。官方网址

  • Nmap有四种基本功能:「端口扫描」、「主机探测」、「服务识别」和「系统识别」。

    Nmap服务安装命令如下:

    yum install - y nmap

    使用Nmap扫描端口如下:

    nmap -sT 192.168.181.128 | grep 8080/tcp | grep http | awk '{print $2'}

列出端口号和协议,状态和服务名称。状态可能是 open(开放的),filtered(被过滤的), closed(关闭的),或者unfiltered(未被过滤的)。

awk '{print $2}'意为取第二个字段输出。

二、数据库备份

为什么要用到数据库备份?

在Linux系统中,使用数据库定时备份有以下几个原因:

  1. 数据安全性:数据库中存储着重要的数据,而数据丢失或损坏可能会对业务运营产生严重影响。通过定时备份数据库,可以保障数据的安全性,一旦发生数据丢失或损坏的情况,可以通过备份数据进行恢复。

  2. 避免人为错误:人为错误是导致数据丢失或损坏的一大原因。通过定时备份数据库,可以避免因人为操作失误而造成的数据丢失,即使出现问题,也可以通过备份进行恢复。

  3. 数据恢复:数据库备份可以提供数据恢复的能力,当数据库发生故障或出现错误时,可以通过备份数据进行恢复,减少业务中断时间,保证业务的连续性。

  4. 数据迁移和复制:定时备份数据库可以方便进行数据迁移和复制。当需要将数据库从一个服务器迁移到另一个服务器时,可以通过备份数据进行快速迁移。同时,备份数据也可以用于在不同的服务器之间进行数据复制,以实现高可用性和负载均衡。

总的来说,数据库定时备份是保障数据安全、避免数据丢失和损坏,以及实现数据恢复、迁移和复制的重要措施之一。

实现数据库备份

/usr/local 目录下创建 moniter 目录并编辑 mysql_backup.sh 

mysql_backup.sh 文件内容如下:

#!/bin/bash
# author: 空空bye.
# description: 用于定时备份数据库
# $(date +%Y%m%d) 获取当前日期
BAK_DIR=/data/db-backup/$(date +%Y%m%d)
DB_NAME="vue"
DB_USER="root"
DB_PWD="1234"
MYSQL_DUMP_CMD=/usr/bin/mysqldump
# $UID 获取当前用户ID,如果不等于0则表示不是root用户
if [ $UID -ne 0 ];thenecho "请使用root用户执行";exit;
fi
# !表示取反,-d表示目录
if [ ! -d $BAK_DIR ];thenmkdir -p $BAK_DIRecho -e "$BAK_DIR 创建成功"
elseecho -e "$BAK_DIR  目录已存在"
fi$MYSQL_DUMP_CMD -u$DB_USER -p$DB_PWD $DB_NAME > $BAK_DIR/$DB_NAME.sql
# 显示最后命令的退出状态,0表示没有错误,其他表示有错误
if [ $? -eq 0 ];thenecho -e "数据库备份成功"
elseecho -e  "数据库备份失败,请检查备份脚本"
fiexit

:文件需修改

DB_NAME="vue"        数据库名称
DB_USER="root"        用户名
DB_PWD="1234"        密码

 编辑mysql_backup.sh完成后,赋予mysql_backup.sh权限并启动

# 赋权
chmod 755 mysql_backup.sh
# 启动
./mysql_backup.sh

数据库备份完成后进入 data/db-backup/20240401/ 目录查看的SQL文件

# 切换目录
cd /data/db-backup/20240401/
# 查看文件后15行
tail -15 vue.sql

三、Shell脚本发送邮件

为什么要用使用Shell脚本发送邮件?

在Linux中使用Shell脚本发送邮件有以下几个原因:

  1. 自动化任务:Shell脚本可以用于自动化执行特定的任务,例如备份数据、检查系统状态等。发送邮件可以帮助管理员及时了解任务的执行情况。

  2. 监控和警报:通过Shell脚本发送邮件可以实现对系统的监控和警报功能。例如,当系统出现异常或达到某种预先设定的阈值时,可以发送邮件给管理员以便及时采取措施。

  3. 定时报告:使用Shell脚本可以定时生成报告,并通过邮件发送给相关人员。这样可以方便地分享系统状态、日志、性能统计等信息。

  4. 通知和通信:Shell脚本可以用于发送通知和通信邮件,例如发送给用户的欢迎邮件、密码重置邮件等。

  5. 执行远程操作:Shell脚本可以通过发送邮件的方式触发远程操作,例如向远程服务器发送命令、执行远程脚本等。

总之,使用Shell脚本发送邮件可以帮助管理员实现自动化、监控、报告和通信等功能,提高系统管理的效率和及时性。

实现Shell脚本发送邮件

使用sendmail发送邮件,如果没有安装,可以使用如下命令先安装

yum install -y sendmail

安装服务之后,请启动服务:

systemctl start sendmail

在 root 目录下新建一个sendmail.sh文件并编辑,文件内容如下:

#!/bin/bash
# author 空空bye.
email_header="Subject: 系统信息\nTo: *******@qq.com"
email="$email_header\ntomcat服务器正常运行,日期:$(date '+%Y-%m-%d %H:%M:%S')"
echo -e "$email" | sendmail -t

注意: -e参数不能丢,否则不会讲\n解析为换行;请修改自己的QQ邮箱

编辑sendmail.sh完成后,赋予sendmail.sh权限并启动 

# 赋权
chmod 755 sendmail.sh
# 启动
./sendmail.sh

发送成功之后,请登录到QQ邮箱并进行以下设置:

  • 点击自助查询
  • 点击收件查询,将发送的邮件添加到白名单中

 最后展示效果如下:

查看sendmail日志的命令:  

tail -f /var/log/maillog

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/793502.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Spring声明式事务以及事务传播行为

Spring声明式事务以及事务传播行为 Spring声明式事务1.编程式事务2.使用AOP改造编程式事务3.Spring声明式事务 事务传播行为 如果对数据库事务不太熟悉,可以阅读上一篇博客简单回顾一下:MySQL事务以及并发访问隔离级别 Spring声明式事务 事务一般添加到…

VSCODE使用VSIX安装扩展

VSCode安装扩展特别慢,使用命令行安装告别龟速: code --install-extension当然,我这个是在WSL 的linux上安装的,Windows一样的。 VSCode扩展商店网页链接:https://marketplace.visualstudio.com/vscode

号卡极团分销管理系统 index.php SQL注入漏洞复现

0x01 产品简介 号卡极团分销管理系统,同步对接多平台,同步订单信息,支持敢探号一键上架,首页多套UI+商品下单页多套模板,订单查询支持实时物流信息、支持代理商自定义域名、泛域名绑定,内置敢探号、172平台、号氪云平台第三方接口以及号卡网同系统对接! 0x02 漏洞概述…

数字信号处理实验---FFT分析

一、题目: 二、实验要求: 1、绘制图形时,尽量选用已经提供的函数。 2、所有的图形,需要加上横坐标、纵坐标以及标题的说明。 3、将设计的程序保存为脚本文件,在实验报告中,需写出程序语句。 4、Matlab程…

ECC升级S/4HANA“沙箱模拟方案包“:更适用于升级环境复杂、体量大的客户

“作为一家业务体量大的公司,分支机构众多、数据复杂,想从ECC升级会有什么风险?”面对技术更新换代、公司业务不断扩展、网络安全问题的日益突出,将ECC升级到S/4HANA是企业的当务之急。为解决客户的顾虑,无论是对于历史…

51单片机入门_江协科技_19~20_OB记录的笔记

19. 串口通讯 19.1. 串口介绍: •串口是一种应用十分广泛的通讯接口,串口成本低、容易使用、通信线路简单,可实现两个设备的互相通信。 •单片机的串口可以使单片机与单片机、单片机与电脑、单片机与各式各样的模块互相通信,极大的…

设计模式总结-建造者模式

建造者模式 模式动机模式定义模式结构模式分析建造者模式实例与解析实例:KFC套餐 模式动机 无论是在现实世界中还是在软件系统中,都存在一些复杂的对象,它们拥有多个组成部分,如汽车,它包括车轮、方向盘、发送机等各种…

使用labelImg标注yolov5数据集并在kaggle中使用yolov5

使用labelImg标注yolov5数据集并在kaggle中使用yolov5 文章目录 前言一、labelImg标注1.1. 下载exe文件1.2. labelImg 下载(源码)1.3. 环境配置1.4. 使用1.4.1. 设置1.4.2. 导入图片并标注 二、在kaggle中使用2.1. 下载源码2.2. 编辑配置文件2.3. 将压缩…

[蓝桥杯 2017 国 C] 合根植物

[蓝桥杯 2017 国 C] 合根植物 题目描述 w 星球的一个种植园,被分成 m n m \times n mn 个小格子(东西方向 m m m 行,南北方向 n n n 列)。每个格子里种了一株合根植物。 这种植物有个特点,它的根可能会沿着南北…

StarRocks使用Minio备份和还原

1.安装minio Centos7安装minio-CSDN博客 minio api端口&#xff1a;9090 下文用到这个端口 必须提前创建好桶: packfdv5 名称自定义和后面对上就可以 2.创建备份仓库 格式&#xff1a; CREATE REPOSITORY <repository_name> WITH BROKER ON LOCATION "s3a:/…

支付类漏洞挖掘技巧总结

前言&#xff1a; 支付类逻辑漏洞在漏洞挖掘中是常常出现的问题之一。此类漏洞挖掘思路多&#xff0c;奖励高&#xff0c;是炙手可热的漏洞。此篇文章主要围绕挖掘支付逻辑漏洞时的一些思路分享。 支付逻辑漏洞成因&#xff1a; 支付漏洞可能由以下原因造成&#xff1a; 前…

mybatis流式游标查询-导出DB大数据量查询OOM问题

问题场景 Mysql数据处理类型分以下三种 com.mysql.cj.protocol.a.result.ResultsetRowsStatic&#xff1a;普通查询&#xff0c;将结果集一次性全部拉取到内存 com.mysql.cj.protocol.a.result.ResultsetRowsCursor&#xff1a;游标查询&#xff0c;将结果集分批拉取到内存&…

【Windows11】cmd下运行python弹出windows应用商店解决方案

【Windows11 】cmd下运行python弹出windows应用商店解决方案 大家好 我是寸铁&#x1f44a; 总结了一篇【Windows11 】cmd下运行python弹出windows应用商店解决方案✨ 喜欢的小伙伴可以点点关注 &#x1f49d; 前言 今天在安装python时&#xff0c;在命令行窗口输入如下命令&a…

【面试经典150 | 动态规划】不同路径 II

文章目录 写在前面Tag题目1方法一&#xff1a;动态规划方法二&#xff1a;空间优化 题目2方法一&#xff1a;动态规划空间优化 写在最后 写在前面 本专栏专注于分析与讲解【面试经典150】算法&#xff0c;两到三天更新一篇文章&#xff0c;欢迎催更…… 专栏内容以分析题目为主…

启动mysql

删除C:\Program Files (x86)\MySQL\MySQL Server 5.7这个路径下的data文件夹&#xff0c;这个很难删除&#xff0c;因为一开机&#xff0c;mysql的某些服务就启动了&#xff0c;每次重新启动mysql之前&#xff0c;都要删除这个文件夹 因为这个文件夹在后端执行一些我们看不到的…

MySQL-逻辑架构:逻辑架构分析、SQL执行流程、数据库缓冲池

逻辑架构 1. 逻辑架构剖析 1.1 第1层&#xff1a;连接层 系统&#xff08;客户端&#xff09;访问MySQL服务器前&#xff0c;做的第一件事就是建立TCP连接。 经过三次握手建立连接成功后&#xff0c;MySQL服务器对TCP传输过来的账号密码做身份认证、权限获取。 用户名或密码…

C语言------冒泡法排序

一.前情提要 1.介绍 冒泡法排序法&#xff1a; 1)冒泡排序&#xff08;Bubble Sort&#xff09;是一种简单的排序算法&#xff0c;它重复地遍历要排序的列表&#xff0c;一次比较相邻的两个元素&#xff0c;并且如果它们的顺序错误就将它们交换过来。重复这个过程直到没有需…

DeepWalk论文翻译

DeepWalk论文翻译 DeepWalk: Online Learning of Social Representations DeepWalk&#xff1a;社会表征的在线学习 ABSTRACT 我们提出了 DeepWalk&#xff0c;一种学习网络中顶点潜在表示的新方法。这些潜在表示在连续向量空间中对社会关系进行编码&#xff0c;很容易被统…

VRRP虚拟路由器冗余协议

vrrp是为了解决单点故障问题 将几台路由器联合成一台虚拟的路由器&#xff0c;保证通信的可靠性 协议小说&#xff1a; 协议不是在固定的哪一个层&#xff0c;是基于哪一层工作&#xff0c;比如说ospf是基于三层工作的 VRRP是基于三层工作的&#xff0c;就在前面会封装一个ip…

JAVAEE——多线程进阶,锁策略

文章目录 锁策略乐观锁和悲观锁乐观锁悲观锁两者的比较 读写锁重量级锁和轻量级锁重量级锁轻量级锁 自旋锁公平锁和非公平锁公平锁非公平锁 可重入锁和不可重入锁可重入锁不可重入锁 锁策略 乐观锁和悲观锁 乐观锁 什么是乐观锁呢&#xff1f;我们可以认为乐观锁比较自信&am…