#! /bin/bash
`sqlplus -s <username>/<passwd>@dbname` << EOF
set echo on
set pagesize 0
set verify off
set lines 32000
set trimspool on
set feedback off
`SELECT starts_with, SUM (total_records) total_records
FROM (SELECT ID,
(CASE WHEN ID LIKE '2%' THEN '2____'
WHEN ID LIKE '3%' THEN '3____'
WHEN ID LIKE '99%' THEN '99____'
END
) starts_with,
total_records
FROM tr
where ( id like '2%' or id like '3%' or id like '99%'))
WHERE tr.TIMESTAMP > SYSDATE - 75 / 1440
AND tr.TIMESTAMP <= SYSDATE - 15 / 1440
GROUP BY starts_with;
`
exit;
EOF
1. Во-первых, как я могу запланировать запуск сценария через каждые 1 час?
2. Во-вторых, необходимо отправить электронное письмо при условии, что:
если total_records <1, электронное письмо с уведомлением UP ALERT должно быть отправлено на xyz@mail.com.<br>. И как только значение total_records превысит 1, сообщение электронной почты с уведомлением DOWN ALERT будет отправлено на xyz@mail.com.
ПРИМЕЧАНИЕ. До total_records> 1 нет вышеупомянутой вещи (пункт 2).Только, когда он total_records <1, нам нужно выполнить шаг 2. </p>
Здесь total_records представляет транзакции, поэтому он будет меняться каждый час (как означает tr.TIMESTAMP
).tr представляет таблицу транзакций.