Meu trabalho cron não está enviando um email com qualquer saída, vejo apenas um email em branco

1

Alguém por favor pode me ajudar aqui. Meu trabalho cron não está enviando um email com saída. Enquanto executo o script de shell manualmente, ele gera um email com saída.

Aqui está o script parece

#!/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
    
por Ravikanth 14.07.2015 / 23:32

1 resposta

2

Essas variáveis de ambiente, como ${ORACLE_HOME} , talvez estejam em seu perfil bash. Isso não é lido automaticamente pelo cron.

Insira a linha abaixo após o #! / bin / bash.

source /home/user/.bash_profile
    
por 14.07.2015 / 23:37

Tags