私のクローンジョブでは、出力を含むEメールを送信せずに空のEメールのみを表示します。

私のクローンジョブでは、出力を含むEメールを送信せずに空のEメールのみを表示します。

誰でも私を助けることができますか?私のcronジョブは出力を含む電子メールを送信しません。シェルスクリプトを手動で実行すると、出力を含む電子メールが生成されます。

スクリプトの外観は次のとおりです。

#!/bin/bash

MAILLIST=<email>
LogDirectory='/app/oracle/admin/monitor/'

DBUSER='rman'
DBUSERPASSWORD='rman01'
DB='pdcatdb'
SUBJECT="RMAN Backup Status Report"
ORACLE_HOME=/app/oracle/product/12.1.0.2_64

${ORACLE_HOME}/bin/sqlplus -s <<EOF  > ${LogDirectory}/query.log
${DBUSER}/${DBUSERPASSWORD}@${DB}
set pagesize 20000
set linesize 2000
set wrap off
set trimspool on
set feedback off
set echo off
set termout off
set heading off
set underline off
set colsep ','
SELECT RTRIM(A.DB_NAME)||'---->'||
       LTRIM(A.STATUS) "BACKUP_STATUS"
  FROM rman.RC_RMAN_STATUS A,
       (  SELECT DB_NAME, OBJECT_TYPE, MAX (END_TIME) END_TIME
            FROM rman.RC_RMAN_STATUS
           --WHERE     OBJECT_TYPE IN ('DB FULL', 'DB INCR')
           WHERE     OBJECT_TYPE IN ('DB INCR')
                 AND STATUS IN ('COMPLETED', 'COMPLETED WITH ERRORS', 'FAILED')
                 AND OPERATION IN ('BACKUP', 'BACKUP COPYROLLFORWARD')
        GROUP BY DB_NAME, OBJECT_TYPE) B
 WHERE     A.OBJECT_TYPE IN ('DB FULL', 'DB INCR', 'ARCHIVELOG')
       AND STATUS IN ('COMPLETED', 'COMPLETED WITH ERRORS', 'FAILED')
       AND OPERATION IN ('BACKUP', 'BACKUP COPYROLLFORWARD')
       AND A.DB_NAME = B.DB_NAME
       AND A.END_TIME = B.END_TIME
       AND A.OBJECT_TYPE = B.OBJECT_TYPE
       AND A.end_time > sysdate-7
       order by 1
       /
EOF
mailx -s "Rman Backup Report" <email> < /app/oracle/admin/monitor/query.log

ベストアンサー1

これらの環境変数は${ORACLE_HOME}bash構成ファイルにあります。 cronを介して自動的に読み込まれません。

#!/bin/bash の後に次の行を挿入します。

source /home/user/.bash_profile

おすすめ記事