需要用到 mail 命令 如果你的系统中没有安装需要执行 (yum install -y mail sendmail)
安装 sendmail 是因为需要发送 邮件到外部邮箱。安装完成后无需配置直接使用。
一下是自动发送 log日志文件 内容到 外部邮箱的shell 脚本。
#!/bin/bash
#automatic_send_mail.sh
DATE=`date "+%Y%m%d%H%M%S"` #定义时间变量
DIR1=/www/logs/repos/inotifywait_rsync.log #定义log日志文件路径
DIR2=/www/logs/repos/inotify_rsync_logs/ #定义log日志文件切割到的路径
HOST=10.10.10.10 #定义当前服务器ip地址
MAIL=177××××4653@163.com #定义接收邮件的邮箱地址
TITLE=248_249_LOG_FILE_inotify #定义邮件主题(根据需要定义)
PROMPT1="Log log file can not be found." #定义不存在log日志是发送邮件的主题
PROMPT2="Log log file can not be found. the file does not exist." #定义不存在log日志发送的邮件内容
if [ -f ${DIR1} ]; then #判断是否存在log日志文件
mail -s "${HOST}|${TITLE}" ${MAIL} < ${DIR1} #发送log日志文件内容到外部邮箱
mv ${DIR1} ${DIR2}inotifywait_rsync_${DATE}.log #切割log日志到$DIR2
else
echo "${PROMPT2}(${HOST}|${DIR1})" | mail -s "${PROMPT1}" ${MAIL} #log日志不存在邮件发送到外部邮箱的发送方式。
fi
安装 sendmail 是因为需要发送 邮件到外部邮箱。安装完成后无需配置直接使用。
一下是自动发送 log日志文件 内容到 外部邮箱的shell 脚本。
#!/bin/bash
#automatic_send_mail.sh
DATE=`date "+%Y%m%d%H%M%S"` #定义时间变量
DIR1=/www/logs/repos/inotifywait_rsync.log #定义log日志文件路径
DIR2=/www/logs/repos/inotify_rsync_logs/ #定义log日志文件切割到的路径
HOST=10.10.10.10 #定义当前服务器ip地址
MAIL=177××××4653@163.com #定义接收邮件的邮箱地址
TITLE=248_249_LOG_FILE_inotify #定义邮件主题(根据需要定义)
PROMPT1="Log log file can not be found." #定义不存在log日志是发送邮件的主题
PROMPT2="Log log file can not be found. the file does not exist." #定义不存在log日志发送的邮件内容
if [ -f ${DIR1} ]; then #判断是否存在log日志文件
mail -s "${HOST}|${TITLE}" ${MAIL} < ${DIR1} #发送log日志文件内容到外部邮箱
mv ${DIR1} ${DIR2}inotifywait_rsync_${DATE}.log #切割log日志到$DIR2
else
echo "${PROMPT2}(${HOST}|${DIR1})" | mail -s "${PROMPT1}" ${MAIL} #log日志不存在邮件发送到外部邮箱的发送方式。
fi