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
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
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