下面是一個檢測日志檔案(catalina.out)大小的腳本:
1
2
3
4
5
6
7
8
9
10
11
12
<code>#!/bin/bash</code>
<code>#Author:Chris Chan</code>
<code>#Written for check catalina.out</code>
<code>size=$(</code><code>du</code> <code>-m catalina.out| </code><code>awk</code> <code>'{print $1}'</code><code>)</code>
<code>echo</code> <code>catalina.out的大小是:$size</code>
<code>if</code> <code>[ $size -gt 19000 ]</code>
<code>then</code>
<code> </code><code>rm</code> <code>-rf catalina.out</code>
<code> </code><code>echo</code> <code>"警告,測試環境cms的catalina.out的大小已經超過18.5G,已經被删除。"</code> <code>| mail -s </code><code>"Warning"</code> <code>[email protected]</code>
<code>else</code>
<code> </code><code>exit</code>
<code>fi</code>
新的知識點!
用shell發郵件的方法很簡單,格式如下:
echo "郵件内容" |mail -s "郵件标題" 目标郵箱位址
但是有的時候可能會報錯,比如這樣的現象:
<a href="https://s1.51cto.com/wyfs02/M00/8D/8F/wKioL1ihmEGwpPu-AAB9Nb9SX2M248.png" target="_blank"></a>
遇到這樣的現象不要慌,其實郵件已經發送成功了,但是之是以會有這樣的報錯,原因就是目前mail服務不支援ipv6,那麼我們先#vim /etc/postfix/main.cf,把裡面的inet_protocols = all 修改為 inet_protocols = ipv4,然後#/etc/init.d/postfix restart,就好了。
如果你覺得郵件内容需要更多一些,我們可以使用這樣的方法:
<code>mail -s </code><code>"郵件标題"</code> <code>目标郵件位址 (輸入回車)</code>
<code>"郵件内容1"</code>
<code>"郵件内容2"</code>
ctrl +d 就是把郵件發出。
效果如圖:
<a href="https://s3.51cto.com/wyfs02/M00/8D/91/wKiom1ihmb6RuzTnAACUCXUvFqw821.png" target="_blank"></a>
但是要注意!這種方法發送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”解開注釋:
<code>inet_interfaces = all</code>
<code>#inet_interfaces = $myhostname</code>
<code>#inet_interfaces = $myhostname, localhost</code>
<code>#inet_interfaces = localhost</code>
<code># Enable IPv4, and IPv6 if supported</code>
<code>inet_protocols = all</code>
然後重新開機一下postfix,#service postfix start即可。
本文轉自 蘇幕遮618 51CTO部落格,原文連結:http://blog.51cto.com/chenx1242/1897416