Linux 如何使用定时监控服务邮件? (linux定时监控服务邮件)

在日常操作中,管理员需要定时监控服务器的各项服务,以保证服务器的稳定运行。这时候使用邮件发送报告就显得非常必要和方便。Linux 系统自带的邮件服务可以很好地满足这一需求。本文将介绍如何使用定时监控服务邮件的方法。

一、安装邮件服务

Linux 系统自带邮件服务,但它未必被默认安装,所以需要先进行安装。

安装邮件服务的命令如下:

“`

sudo apt-get install postfix

“`

这个命令会在系统上安装 Postfix,一个常用的邮件服务程序。

二、配置邮件服务

安装完毕后,需要根据实际情况进行配置,在进行配置之前,请确保 DNS 配置正确。

1. 打开配置文件

配置文件路径:/etc/postfix/mn.cf。打开配置文件,进行修改:

“`

sudo vi /etc/postfix/mn.cf

“`

2. 修改配置文件

在文件中添加或修改以下内容:

“`

myorigin = /etc/mlname

tpd_banner = $myhostname ETP $ml_name (Ubuntu)

biff = no

# appending .domn is the MUA’s job.

append_dot_mydomn = no

readme_directory = no

# the domn name of the server

myhostname = example.com

# set the relayhost to your TP server

relayhost = ml.example.com

“`

修改后,保存退出。

3. 重启邮件服务

修改配置文件后,需要重启邮件服务使修改生效:

“`

sudo service postfix restart

“`

三、配置定时任务

在 Linux 中,定时任务使用 crontab 实现。管理员可以结合邮件服务和 crontab 实现自动发送邮件功能。以每日 20:00 发送主机 CPU 和内存使用情况为例:

1. 创建 shell 脚本

在 /usr/local/bin 目录下创建主机性能脚本,命名为 health_check.sh:

“`

sudo vim /usr/local/bin/health_check.sh

“`

2. 添加代码

在健康检查脚本中,添加以下代码:

“`

#!/bin/bash

MLTO=”example@example.com”

HOSTNAME=`hostname`

CPULOAD=`uptime | awk ‘{print $10}’ | sed ‘s/,//’`

MEMORYFREE=`free -m | awk ‘/Mem/ {print $4}’`

SUBJECT=”Health Check Report for ${HOSTNAME}: CPU Load ${CPULOAD}, Memory Free: ${MEMORYFREE} MB”

BODY=”${SUBJECT}”

echo “${BODY}” | ml -s “${SUBJECT}” ${MLTO}

“`

添加完毕后,保存退出。

3. 配置定时任务

使用以下命令打开 crontab:

“`

sudo crontab -e

“`

在文件末尾添加以下代码:

“`

0 20 * * * /usr/local/bin/health_check.sh

“`

4. 保存 crontab

保存退出 crontab。

至此,每天晚上 20:00,在系统中运行的 crontab 就会通过邮件服务自动发送使用情况邮件,并且邮件中包含服务器 CPU 和内存的使用情况。

通过上述方法,管理员可以方便地监控 Linux 服务器上各项服务,并且通过邮件服务自动发送报告,让管理工作更加便捷。当然,在具体使用过程中,还需要根据实际情况进行配置,以满足自己的需求。

相关问题拓展阅读:

linux 定时任务的方法有哪些

如果我们需要定时执行一些周期性重复性的任务,我们就会用到定时执行任务功能来帮我们自动执行每天、每周等周期性重复性的任务而不需要人为干预即可实现。

我们通过crontab –e来创建自己的定时任务,下图中的5个*的含义是,之一个*是分,第二个*是小时,第三个*是日,第4个*是月,第5个*是周,第6列是命令,下图的意思是给所有人发警告信息Hello,每隔一分钟就发送一次Hello信息。

我们可以通过crontab –l来查看当前的已创建的定时任务,可以发现当前有一个定时任务,通过crontab –r删除当前的定时任务,再次通过crontab –l去查看是否还有定时任务,发现已经成功删除了。

进入/etc目录,查看首字母为cron的目录,cron*,*在这里是通配符,匹配任意个字符,通过查看/etc目录下所有与定时任务相关的目录和文件。

通过cat crontab查看定时任务的故事,包括shell的位置、路径、默认邮件发给root账户、以及定时任务的格式,5个*的含义及第6列是写具体的命令。

我们可以看看系统里面的定时任务,有每小时执行的cron.hourly、每日执行的cron.daily、每月执行的cron.monthly、每周执行的cron.weekly.我们通过命令ll cron.daily可以看到里面有很多可执行文件,这些都是系统每天自动执行的定时任务。我们可以把自己建立的定时文件放在系统已有的目录下,比如每天的定时任务放在cron.daily下面。

系统常用的每天执行的定时任务,tmpwatch定时任务会去/tmp、/var/tmp临时目录下找超过10天的文件并删除,logrotate日志文件回滚,默认是一周回滚一次,1个月回滚4次,也就是日志只保存1个月,logwatch把当天最敏感的日志找出来形成一个电子邮件默认发给超级用户。

为什么我的linux任务调度执行成功了缺没有邮件

Linux 定时任务

fileclear.sh

复制代码

tamcdir=${HOME}/ora/user_projects/domains/tamc

cd ${tamcdir}

echo rm -f `ls heapdump*.phd`

rm -f heapdump*.phd

echo rm -f `ls javacore*.txt`

rm -f javacore*.txt

echo rm -f `ls Snap*.trc`

rm -f Snap*.trc

cd bin

echo cp /dev/null nuhup.out

cp /dev/null nuhup.out

cd ${tamcdir}/pxbak

echo rm -rf `ls 20*`

rm -rf 20*

cd ${tamcdir}/webapps/tamcx/fileLoad

echo rm -f `find /weblogic/ora/user_projects/domains/tamc/webapps/tamcx/fileLoad/ -mtime +1`

find /weblogic/ora/user_projects/domains/tamc/webapps/tamcx/fileLoad/ -mtime +1 -exec rm -f {} \;

复制代码

task.crontab

#web服务端日志、临时文件清理

10 1 * * * ksh $HOME/tools/clearweblogic.sh >>/weblogic/ora/user_projects/domains/tamc/webapps/tamcx/log/crontab.log 2>>/weblogic/ora/user_projects/domains/tamc/webapps/tamcx/log/crontab.log

task.null.crontab是一个没有内容的空文件

开启定时任务

crontab /weblogic/tools/task.crontab

停止定时任务

crontab /weblogic/tools/task.null.crontab

crontab

参数:

-u: 只有root才能进行这个任务,也即帮其他用户新建/删除crontab工作调度;

-e: 编辑crontab 的工搜搜作内容;

-l: 查阅crontab的工作内容;

-r: 删除所有的crontab的工作内容,若仅要删除一项,请用-e去编辑。

范例一:用dmtsai的身份在每天的12:00发信给自己

crontab -e

#此时会进入vi的编辑界面让你编辑工作。注意到,每项工作都是一行。

* * * mail dmtsai -s “at 12:00” > /tmp/ls.txt

任务调度的crond常驻命令

crond 是linux用来定期执行程序的命令。当安装完成操作系统之后,默认便会启动此

任务调度命令。crond命令每分锺会定期检查是否有要执行的工作,如果有要执行的工

作便会自动执行该工作。

linux定时监控服务邮件的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于linux定时监控服务邮件,Linux 如何使用定时监控服务邮件?,linux 定时任务的方法有哪些,为什么我的linux任务调度执行成功了缺没有邮件的信息别忘了在本站进行查找喔。


数据运维技术 » Linux 如何使用定时监控服务邮件? (linux定时监控服务邮件)