настраиваю некоторым клиентам коцаную версию стендбая, а у некоторых еще и с настройкой MTA на хосте проблемы, поэтому
почту прикрутил телнетом... В общем, суть скрипта - уведомление, если на хосте максимальный архивлог не совпадает с текущей датой. Запускаю в 8:55, к началу рабочего дня уже обязательно и архивлог сегодняшний есть.
Обратите внимание, что во второй строке импортируются переменные окружения. У вас они могут быть в .bashrc, файл должен быть исполняемым.
Код:
#!/bin/bash
. ~/.profile
export ORACLE_SID=ekk
ld=`sqlplus -s -l / as sysdba <<EOF
set heading off
select to_char(max(completion_time),'DD.MM.YYYY') from v\\$archived_log;
exit;
EOF`
ld=`echo $ld|tail -n1`
cd=`date +%d.%m.%Y`
if [ "$ld" != "$cd" ]
then
(
sleep 1
echo "ehlo x"
sleep 1
echo "mail from:oracle@olegon.ru"
sleep 1
echo "rcpt to:kulabuhov_oa@olegon.ru"
sleep 1
echo "data"
sleep 1
echo "subject:Standby is obsolete..."
sleep 1
echo "from:oracle@olegon.ru"
sleep 1
echo "to:kulabuhov_oa@olegon.ru"
sleep 1
echo
sleep 1
echo "Bad news..."
sleep 1
echo "Bye."
sleep 1
echo "."
sleep 1
echo "QUIT"
) | telnet 10.6.76.40 25;
fi