Shell脚本网站监控预警!自动化运维脚本!!!_shell 脚本 监控动态网页

62 阅读4分钟

一、实验背景

网站被恶意篡改、挂马、暗链怎么办?

  • 网站监控预警系统又叫网站预警机,主要功能是针对政府、高校、各大企业网站所研
  • 发的一款对网站安全进行整体的监控系统,监测内容包括:网站挂马监测、漏洞扫描、敏感
  • 信息(文字、图片、链接)、非法链接(暗链)、舆情监测、网站本身性能等进行实时监控。
    实现7*24小时无间断监控,在问题发生第一时间内发现,第一时间内预警;

二、实验要求

  1. 写一个发邮件的shell脚本,通过curl -I 返回状态码来判定所访问的网站是否正常,比如当代码状态200,才算正常。
  2. 再写一个脚本,用来判断是状态是否为200,如果是的就输出正常;
    若不是,就发送邮件

三、实验分析

  1. 关键问题,截取出代码状态
  2. 在写出该shell脚本时,应该先在命令下面使用curl -I www.51xit.top/命令测试,然后通过aw…
  3. 写发邮件的脚本,用的是sendEmail。生产环境有配套的模板
  4. 判断和发邮件关联

四、实验实践

4.1、发邮件脚本

  1. 我们首先把sendEmail-v1.56.tar.gz压缩包放入opt目录下
sendEmail-v1.56.tar.gz    ##我们首先把\*\*sendEmail-v1.56.tar.gz\*\*压缩包放入\*\*opt\*\*目录下
tar -zxvf /opt/sendEmail-v1.56.tar.gz   ##将压缩包解压tar -zxvf /opt/sendEmail-v1.56.tar.gz 
cp sendEmail-v1.56/sendEmail /usr/local/bin/
chmod 755 /usr/local/bin/sendEmail  ##提权755

  1. 我们先写一个发邮件的脚本,代码如下!
vi /opt/sendEmail.sh
#!/bin/bash
#
# Filename: SendEmail.sh
# Revision: 1.0
# Date: 2019/05/29
# Author: Qicheng
# Email:
# Website: http://51xit.top/
# Description: tang邮件告警脚本
# Notes: 使用sendEmail
#

# 脚本的日志文件
LOGFILE="/tmp/Email.log"
:>"$LOGFILE"
exec 1>"$LOGFILE"
exec 2>&1

SMTP_server='smtp.qq.com'                               # SMTP服务器,变量值需要自行修改
username='邮箱@qq.com'                         	        # 用户名,变量值需要自行修改
password='邮箱的授权码'                                   # 密码(QQ邮箱用的是授权码),变量值需要自行修改,使用IMAP/SMTP的授权码
from_email_address='邮箱@qq.com'         	            #### 发件人Email地址,变量值需要自行修改
to_email_address="$1"                                   # 收件人Email地址,tang传入的第一个参数
message_subject_utf8="$2"                               # 邮件标题,tang传入的第二个参数
message_body_utf8="$3"                                  # 邮件内容,tang传入的第三个参数

# 转换邮件标题为GB2312,解决邮件标题含有中文,收到邮件显示乱码的问题。
message_subject_gb2312=`iconv -t GB2312 -f UTF-8 << EOF
$message\_subject\_utf8
EOF`
[ $? -eq 0 ] && message_subject="$message\_subject\_gb2312" || message_subject="$message\_subject\_utf8"


为了做好运维面试路上的助攻手,特整理了上百道 **【运维技术栈面试题集锦】** ,让你面试不慌心不跳,高薪offer怀里抱!

这次整理的面试题,**小到shell、MySQL,大到K8s等云原生技术栈,不仅适合运维新人入行面试需要,还适用于想提升进阶跳槽加薪的运维朋友。**

![](https://p3-xtjj-sign.byteimg.com/tos-cn-i-73owjymdk6/aa3540d966e64c5784d378ec329cc33d~tplv-73owjymdk6-jj-mark-v1:0:0:0:0:5o6Y6YeR5oqA5pyv56S-5Yy6IEAg55So5oi3MDgwNDUxMTkwMTI=:q75.awebp?rk3s=f64ab15b&x-expires=1773326005&x-signature=BUoFnFvXUdcqfxeaJItPeUMjZoo%3D)

本份面试集锦涵盖了

*   **174 道运维工程师面试题**
*   **128道k8s面试题**
*   **108道shell脚本面试题**
*   **200道Linux面试题**
*   **51道docker面试题**
*   **35道Jenkis面试题**
*   **78道MongoDB面试题**
*   **17道ansible面试题**
*   **60道dubbo面试题**
*   **53道kafka面试**
*   **18道mysql面试题**
*   **40道nginx面试题**
*   **77道redis面试题**
*   **28道zookeeper**

**总计 1000+ 道面试题, 内容 又全含金量又高**

*   **174道运维工程师面试题**

> 1、什么是运维?

> 2、在工作中,运维人员经常需要跟运营人员打交道,请问运营人员是做什么工作的?

> 3、现在给你三百台服务器,你怎么对他们进行管理?

> 4、简述raid0 raid1raid5二种工作模式的工作原理及特点

> 5、LVS、Nginx、HAproxy有什么区别?工作中你怎么选择?

> 6、Squid、Varinsh和Nginx有什么区别,工作中你怎么选择?

> 7、Tomcat和Resin有什么区别,工作中你怎么选择?

> 8、什么是中间件?什么是jdk?

> 9、讲述一下Tomcat8005、8009、8080三个端口的含义?

> 10、什么叫CDN?

> 11、什么叫网站灰度发布?

> 12、简述DNS进行域名解析的过程?

> 13、RabbitMQ是什么东西?

> 14、讲一下Keepalived的工作原理?

> 15、讲述一下LVS三种模式的工作过程?

> 16、mysql的innodb如何定位锁问题,mysql如何减少主从复制延迟?

> 17、如何重置mysql root密码?
详情docs.qq.com/doc/DSmdCdUNwcEJDTXFK