论坛
潜水/灌水快乐,沉淀知识,认识更多同行。
ToB圈子
加入IT圈,遇到更多同好之人。
朋友圈
看朋友圈动态,了解ToB世界。
ToB门户
了解全球最新的ToB事件
博客
Blog
排行榜
Ranklist
文库
业界最专业的IT文库,上传资料也可以赚钱
下载
分享
Share
导读
Guide
相册
Album
记录
Doing
搜索
本版
文章
帖子
ToB圈子
用户
免费入驻
产品入驻
解决方案入驻
公司入驻
案例入驻
登录
·
注册
只需一步,快速开始
账号登录
立即注册
找回密码
用户名
Email
自动登录
找回密码
密码
登录
立即注册
首页
找靠谱产品
找解决方案
找靠谱公司
找案例
找对的人
专家智库
悬赏任务
圈子
SAAS
ToB企服应用市场:ToB评测及商务社交产业平台
»
论坛
›
数据库
›
Mysql
›
Linux之实现Apache服务器监控、数据库定时备份及通过利 ...
Linux之实现Apache服务器监控、数据库定时备份及通过利用Shell脚本发送邮件 ...
民工心事
金牌会员
|
2024-6-15 01:46:01
|
显示全部楼层
|
阅读模式
楼主
主题
828
|
帖子
828
|
积分
2484
目录
一、Apache服务器监控
为什么要用到服务监控?
实现Apache服务器监控
二、数据库备份
为什么要用到数据库备份?
实现数据库备份
三、Shell脚本发送邮件
为什么要用利用Shell脚本发送邮件?
实现Shell脚本发送邮件
一、Apache服务器监控
为什么要用到服务监控?
在Linux中监控Apache服务器是非常重要的,原因如下:
包管服务器稳定性:通过监控Apache服务器,可以及时发现并解决服务器故障、崩溃或其他问题。这可以避免服务器宕机或无法提供正常的服务,确保网站的稳定运行。
进步性能和响应速度:通过监控Apache服务器的性能指标,如CPU利用率、内存利用率、连接数、哀求响应时间等,可以发现性能瓶颈和优化机会。优化服务器的设置和资源分配,可以进步网站的响应速度和用户体验。
防备安全漏洞和攻击:监控Apache服务器可以帮助发现安全漏洞、非常活动和潜在的攻击。通过监控日记文件、网络流量和非常行为,可以及时采取措施来防止或应对恶意攻击和入侵。
规划和预测容量:通过监控Apache服务器的负载和资源利用环境,可以相识网站的访问模式和流量趋势。这对于规划服务器的容量和扩展能力非常重要,以满足未来增长的需求。
管理和维护:监控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" ]
then
echo "$(date) tomcat is running" >> /tmp/tomcat-access.log
else
echo "$(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体系中,利用数据库定时备份有以下几个原因:
数据安全性:数据库中存储偏重要的数据,而数据丢失或损坏大概会对业务运营产生严重影响。通过定时备份数据库,可以保障数据的安全性,一旦发生数据丢失或损坏的环境,可以通过备份数据进行规复。
避免人为错误:人为错误是导致数据丢失或损坏的一大原因。通过定时备份数据库,可以避免因人为操作失误而造成的数据丢失,即使出现问题,也可以通过备份进行规复。
数据规复:数据库备份可以提供数据规复的能力,当数据库发生故障或出现错误时,可以通过备份数据进行规复,淘汰业务停止时间,包管业务的连续性。
数据迁徙和复制:定时备份数据库可以方便进行数据迁徙和复制。当需要将数据库从一个服务器迁徙到另一个服务器时,可以通过备份数据进行快速迁徙。同时,备份数据也可以用于在差别的服务器之间进行数据复制,以实现高可用性和负载均衡。
总的来说,数据库定时备份是保障数据安全、避免数据丢失和损坏,以及实现数据规复、迁徙和复制的重要措施之一。
实现数据库备份
在 /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 ];then
echo "请使用root用户执行";
exit;
fi
# !表示取反,-d表示目录
if [ ! -d $BAK_DIR ];then
mkdir -p $BAK_DIR
echo -e "$BAK_DIR 创建成功"
else
echo -e "$BAK_DIR 目录已存在"
fi
$MYSQL_DUMP_CMD -u$DB_USER -p$DB_PWD $DB_NAME > $BAK_DIR/$DB_NAME.sql
# 显示最后命令的退出状态,0表示没有错误,其他表示有错误
if [ $? -eq 0 ];then
echo -e "数据库备份成功"
else
echo -e "数据库备份失败,请检查备份脚本"
fi
exit
复制代码
注
:文件需修改
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脚本发送邮件有以下几个原因:
主动化任务:Shell脚本可以用于主动化实行特定的任务,例如备份数据、检查体系状态等。发送邮件可以帮助管理员及时相识任务的实行环境。
监控和警报:通过Shell脚本发送邮件可以实现对体系的监控和警报功能。例如,当体系出现非常或达到某种预先设定的阈值时,可以发送邮件给管理员以便及时采取措施。
定时报告:利用Shell脚本可以定时生成报告,并通过邮件发送给相关职员。这样可以方便地分享体系状态、日记、性能统计等信息。
通知和通讯:Shell脚本可以用于发送通知和通讯邮件,例如发送给用户的欢迎邮件、密码重置邮件等。
实行远程操作: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
复制代码
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
本帖子中包含更多资源
您需要
登录
才可以下载或查看,没有账号?
立即注册
x
回复
使用道具
举报
0 个回复
倒序浏览
返回列表
快速回复
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
or
立即注册
本版积分规则
发表回复
回帖并转播
回帖后跳转到最后一页
发新帖
回复
民工心事
金牌会员
这个人很懒什么都没写!
楼主热帖
Cilium系列-10-启用 IPv6 BIG TCP和启 ...
【云原生】Spring Cloud是什么?Spring ...
[源码阅读]-Redis核心事件流程 ...
如火如荼的「云原生」,你了解多少? ...
Spark快速上手(4)Spark核心编程-Spark ...
一文看懂java单例模式
超详细的手把手撸代码---教你你⾃定义 ...
容器化|自建 MySQL 集群迁移到 Kubern ...
安全应急响应中心SRC
OpenGL ES google angle
标签云
挺好的
服务器
快速回复
返回顶部
返回列表