下面是一个检测日志文件(catalina.out)大小的脚本:

#!/bin/bash
#Author:Chris Chan
#Written for check catalina.out
size=$(du -m catalina.out| awk '{print $1}')
echo catalina.out的大小是:$size
if [ $size -gt 19000 ]
then
        rm -rf catalina.out
        echo "警告,测试环境cms的catalina.out的大小已经超过18.5G,已经被删除。" | mail -s "Warning" [email protected]
else
        exit
fi


新的知识点!

用shell发邮件的方法很简单,格式如下:

echo "邮件内容" |mail -s "邮件标题" 目标邮箱地址


但是有的时候可能会报错,比如这样的现象:

wKioL1ihmEGwpPu-AAB9Nb9SX2M248.png


遇到这样的现象不要慌,其实邮件已经发送成功了,但是之所以会有这样的报错,原因就是当前mail服务不支持ipv6,那么我们先#vim  /etc/postfix/main.cf,把里面的inet_protocols = all 修改为 inet_protocols = ipv4,然后#/etc/init.d/postfix restart,就好了。


如果你觉得邮件内容需要更多一些,我们可以使用这样的方法:

mail -s "邮件标题" 目标邮件地址 (输入回车)
"邮件内容1"
"邮件内容2"

ctrl +d 就是把邮件发出。


效果如图:

Linux自带发送邮件的方法_第1张图片


但是要注意!这种方法发送163和新浪的邮箱是可以的,发送qq邮箱会被默认转移到垃圾邮件里去,需要手动信任一下。


如果有的时候,系统则有这样的报错:“ send-mail: fatal: parameter inet_interfaces: no local interface found for ::1”。


那么就去#vim /etc/postfix/main.cf,把“inet_interfaces = localhost”注释,把“inet_interfaces = all”解开注释: 

inet_interfaces = all
#inet_interfaces = $myhostname
#inet_interfaces = $myhostname, localhost
#inet_interfaces = localhost
# Enable IPv4, and IPv6 if supported
inet_protocols = all


然后重启一下postfix,#service postfix start即可。