スクリプトによって生成されたログファイルを検索するスクリプトを変更し、文字列をgrepし、文字列が見つかるとmailxを探します。文字列のbash grepログファイル
以下のスクリプトから、すべてのログではなく行が返されるログのみを送信したいとします。毎日35以上のデータベースがログです。
擬似コード:
if grep TOTAL $REPORTS/${ORACLE_SID}_Tablespace.log
then
mail -s "$ORACLE_SID Tablespace Alert" `cat $ORAMAIL/dba_list` < \
$REPORTS/${ORACLE_SID}_Tablespace.log
fi
begin script:
. /u01/app/oracle/oraconfig/Oracle.env.new.vars
echo "$0 execution started "`date`
for NAME in `cat $ORACONFIG/dbname.list`
do
ORACLE_SID=$NAME
export ORACLE_SID
sqlplus '/ as sysdba' <<EOF > $REPORTS/${ORACLE_SID}_Tablespace.log 2>&1
@$TOOLS/chk_tablespace.sql
EOF
TODAY=`date +%Y-%m-%d`
mail -s "$ORACLE_SID Tablespace Alert" `cat $ORAMAIL/dba_list` < \
$REPORTS/${ORACLE_SID}_Tablespace.log
done
echo "$0 execution completed "`date`
あなたはSOの新しいようです。回答をテストしたら、答えが問題を解決したと思われる場合は、緑色のチェックマークをクリックして「受け入れ済み」とマークしてください。これはまだ回答のない古いSOの質問に焦点を当てるのに役立ちます。 –