ログをHTML形式でキャプチャして電子メールで送信しますか?

ログをHTML形式でキャプチャして電子メールで送信しますか?

Oracleデータベースをシャットダウンするスクリプトを作成しましたが、データベースのシャットダウンが正常に完了すると、シャットダウン出力を送信できません。電子メールのエコー部分のみを受信し、実際の終了部分は受信しません。終了出力をキャプチャすることによってmailx私のemailid

また、このログをHTML形式でキャプチャしてから送信できる方法も教えてくださいemailid

LOG_FILE="Shutdown_of_$ORACLE_SID_`hostname`_Completed_`date "+%Y_%b_%d"`.txt"   
echo "">>$LOG_FILE  
echo "">>$LOG_FILE  
echo " =========================================================  ">>$LOG_FILE
echo "">>$LOG_FILE
echo " Step  : SHUTTING Down of database                          ">>$LOG_FILE  
echo " Start : `date `                                            ">>$LOG_FILE    
echo " ========================================================   ">>$LOG_FILE

echo "">>$LOG_FILE  
echo "">>$LOG_FILE  

export SHUT=/home/oracle/SHUT.txt  
>$SHUT  
sqlplus -s / as sysdba << EOF  
set feedback off verify off termout off linesize 120 pagesize 500;  
spool $SHUT  
shut immediate;  
spool off;  
exit;  
EOF  

echo "">>$LOG_FILE  
echo " =========================================      "  >>$LOG_FILE
echo " Status : Completed                             ">>$LOG_FILE
echo " End   : `date`                                 ">>$LOG_FILE
echo " =========================================      ">>$LOG_FILE
echo "">>$LOG_FILE

mailx -s "Shutdown_of_'$ORACLE_SID'_`hostname`_Completed_`date "+%Y_%b_%d"` " [email protected]  < $LOG_FILE

メモ:私のBashバージョン:GNU bash、バージョン4.1.2(1)-リリース(x86_64-redhat-linux-gnu)。

ベストアンサー1

私は通常あなたが望むものを次のようにします:

#!/bin/bash

{
cat <<-EOF


 =========================================================  

 Step  : SHUTTING Down of database                          
 Start : `date `                                            
 ========================================================   



EOF

export SHUT=/home/oracle/SHUT.txt  
>$SHUT 

sqlplus -s / as sysdba <<-EOF  
set feedback off verify off termout off linesize 120 pagesize 500;  
spool $SHUT  
shut immediate;  
spool off;  
exit;  
EOF

cat $SHUT

cat <<-EOF

 =========================================
 Status : Completed
 End    : $(date)
 =========================================

EOF

} | mailx -s "Shutdown_of_'$ORACLE_SID'_$(hostname)_Completed_$(date "+%Y_%b_%d") " \
      [email protected]

上記は、その中のコマンドのすべての出力をキャプチャするサブシェルを作成します。次に、mailxこれらすべての出力を直接パイプします。

メモ:EOFこの文書を扱うときは、マークアップの周りに余分なスペースがあることに特に注意してください。最後に間違った余分なスペースがあると、機能しない可能性がEOFあります。

引用する

おすすめ記事