jaisonshereen
asked on
Please explain this shell script !
ROOT@server# cat /home/oracledb/bin/cron_co rp8_every_ 5_minutes
#!/bin/csh -f
source /home/oracledb/environment s/producti on_db_c_sh ell_enviro nment_dba
#date
#echo /home/oracledb/bin/cron_co rp8_every_ 5_minutes has been executed
if (-e $SQL_CRON_HOME/tmp/cron_co rp8_every_ 5_minutes_ in_progres s) then
if (! -e $SQL_CRON_HOME/tmp/cron_co rp8_every_ 5_minutes_ in_progres s_warned) then
/usr/bin/touch $SQL_CRON_HOME/tmp/cron_co rp8_every_ 5_minutes_ in_progres s_warned
cat /home/oracledb/bin/IS_DBAS _email_and _pagers.ma il_recipie nt > $SQL_CRON_HOME/tmp/test_co nnect_prod uction.mai l
echo "From: asd@asd.com" >> $SQL_CRON_HOME/tmp/test_co nnect_prod uction.mai l
echo "Subject: cron_corp8_every_5_minutes Apparently Hung" >> $SQL_CRON_HOME/tmp/test_co nnect_prod uction.mai l
echo "" >> $SQL_CRON_HOME/tmp/test_co nnect_prod uction.mai l
echo "cron_corp8_every_5_minute s Apparently Hung" >> $SQL_CRON_HOME/tmp/test_co nnect_prod uction.mai l
/usr/lib/sendmail -t < $SQL_CRON_HOME/tmp/test_co nnect_prod uction.mai l
endif
else
if (-e $SQL_CRON_HOME/tmp/cron_co rp8_every_ 5_minutes_ in_progres s_warned) then
/usr/bin/rm $SQL_CRON_HOME/tmp/cron_co rp8_every_ 5_minutes_ in_progres s_warned
endif
/usr/bin/touch $SQL_CRON_HOME/tmp/cron_co rp8_every_ 5_minutes_ in_progres s
cp /var/adm/messages /home/oracledb/bin/tmp/cor p8_console _messages. current
diff /home/oracledb/bin/tmp/cor p8_console _messages. last /home/oracledb/bin/tmp/cor p8_console _messages. current > /home/oracledb/bin/tmp/cor p8_msg_dif f
if (! -z /home/oracledb/bin/tmp/cor p8_msg_dif f) then
cat /home/oracledb/bin/IS_DBAS _email.mai l_recipien t > /home/oracledb/bin/tmp/cor p8_msg.mai l
echo "From: asd@asd.com" >> /home/oracledb/bin/tmp/cor p8_msg.mai l
echo "Subject: Excerpt From corp8: /var/adm/messages" >> /home/oracledb/bin/tmp/cor p8_msg.mai l
echo "" >> /home/oracledb/bin/tmp/cor p8_msg.mai l
cat /home/oracledb/bin/tmp/cor p8_msg_dif f >> /home/oracledb/bin/tmp/cor p8_msg.mai l
#/usr/lib/sendmail -t < /home/oracledb/bin/tmp/cor p8_msg.mai l
endif
mv /home/oracledb/bin/tmp/cor p8_console _messages. current /home/oracledb/bin/tmp/cor p8_console _messages. last
if (! -e $SQL_CRON_HOME/tmp/suspend _page_prod uction_con nect) then
sqlplus -s cron/croncron@production @$SQL_CRON_HOME/test_conne ct > $SQL_CRON_HOME/tmp/test_co nnect_prod uction
if (! -z $SQL_CRON_HOME/tmp/test_co nnect_prod uction) then
touch $SQL_CRON_HOME/tmp/suspend _page_prod uction_con nect
cat /home/oracledb/bin/IS_DBAS _email_and _pagers.ma il_recipie nt > $SQL_CRON_HOME/tmp/test_co nnect_prod uction.mai l
echo "Subject: No Connect To PRODUCTION Database" >> $SQL_CRON_HOME/tmp/test_co nnect_prod uction.mai l
echo "" >> $SQL_CRON_HOME/tmp/test_co nnect_prod uction.mai l
echo "PRODUCTION: No Connect" >> $SQL_CRON_HOME/tmp/test_co nnect_prod uction.mai l
/usr/lib/sendmail -t < $SQL_CRON_HOME/tmp/test_co nnect_prod uction.mai l
/bin/rm $SQL_CRON_HOME/tmp/test_co nnect_prod uction.mai l
else
sqlplus -s cron/croncron@production @$SQL_CRON_HOME/check_redo logs.sql > $SQL_CRON_HOME/tmp/check_r edologs_pr oduction
if (! -z $SQL_CRON_HOME/tmp/check_r edologs_pr oduction) then
sleep 15
sqlplus -s cron/croncron@production @$SQL_CRON_HOME/check_redo logs.sql > $SQL_CRON_HOME/tmp/check_r edologs_pr oduction
if (! -z $SQL_CRON_HOME/tmp/check_r edologs_pr oduction) then
cat /home/oracledb/bin/IS_DBAS _email_and _pagers.ma il_recipie nt > $SQL_CRON_HOME/tmp/check_r edologs_pr oduction.m ail
echo "From: asd@asd.com" >> $SQL_CRON_HOME/tmp/check_r edologs_pr oduction.m ail
echo "Subject: Production Archiver Failed" >> $SQL_CRON_HOME/tmp/check_r edologs_pr oduction.m ail
echo "" >> $SQL_CRON_HOME/tmp/check_r edologs_pr oduction.m ail
echo "PRODUCTION: Archiver Failed" >> $SQL_CRON_HOME/tmp/check_r edologs_pr oduction.m ail
/usr/lib/sendmail -t < $SQL_CRON_HOME/tmp/check_r edologs_pr oduction.m ail
/bin/rm $SQL_CRON_HOME/tmp/check_r edologs_pr oduction.m ail
endif
endif
sqlplus -s user/password@production @$SQL_CRON_HOME/show_conte ntion.sql > $SQL_CRON_HOME/tmp/content ion_produc tion
if (! -z $SQL_CRON_HOME/tmp/content ion_produc tion) then
cat /home/oracledb/bin/IS_DBAS _email.mai l_recipien t > $SQL_CRON_HOME/tmp/content ion_produc tion.mail
echo "From: asd@asd.com" >> $SQL_CRON_HOME/tmp/content ion_produc tion.mail
echo "Subject: Database Lock Report: Production" >> $SQL_CRON_HOME/tmp/content ion_produc tion.mail
echo "" >> $SQL_CRON_HOME/tmp/content ion_produc tion.mail
cat $SQL_CRON_HOME/tmp/content ion_produc tion >> $SQL_CRON_HOME/tmp/content ion_produc tion.mail
echo "" >> $SQL_CRON_HOME/tmp/content ion_produc tion.mail
echo "This mail was generated automatically by oracle's cron job running on corp8." >> $SQL_CRON_HOME/tmp/content ion_produc tion.mail
/usr/lib/sendmail -t < $SQL_CRON_HOME/tmp/content ion_produc tion.mail
/bin/rm $SQL_CRON_HOME/tmp/content ion_produc tion.mail
endif
sqlplus -s user/password@production @$SQL_CRON_HOME/test.sql > $SQL_CRON_HOME/tmp/test_tm p_producti on
diff $SQL_CRON_HOME/tmp/test_tm p_producti on_last $SQL_CRON_HOME/tmp/test_tm p_producti on > $SQL_CRON_HOME/tmp/test_tm p_producti on_diff
cp $SQL_CRON_HOME/tmp/test_tm p_producti on $SQL_CRON_HOME/tmp/test_tm p_producti on_last
if (! -z $SQL_CRON_HOME/tmp/test_tm p_producti on_diff) then
cat /home/oracledb/bin/IS_DBAS _email.mai l_recipien t > $SQL_CRON_HOME/tmp/test_tm p_producti on.mail
echo "From: asd@asd.com" >> $SQL_CRON_HOME/tmp/test_tm p_producti on.mail
echo "Subject: PRODUCTION Test Results" >> $SQL_CRON_HOME/tmp/test_tm p_producti on.mail
echo "" >> $SQL_CRON_HOME/tmp/test_tm p_producti on.mail
cat $SQL_CRON_HOME/tmp/test_tm p_producti on_diff >> $SQL_CRON_HOME/tmp/test_tm p_producti on.mail
/usr/lib/sendmail -t < $SQL_CRON_HOME/tmp/test_tm p_producti on.mail
/bin/rm $SQL_CRON_HOME/tmp/test_tm p_producti on.mail
endif
if (-e $SQL_CRON_HOME/tmp/send_au to_email.l st) then
/bin/rm $SQL_CRON_HOME/tmp/send_au to_email.l st
endif
if (-e $SQL_CRON_HOME/tmp/make_au to_emails. sql) then
/bin/rm $SQL_CRON_HOME/tmp/make_au to_emails. sql
endif
sqlplus -s user/password@production @$SQL_CRON_HOME/check_auto _email.sql
if ((-e $SQL_CRON_HOME/tmp/send_au to_email.l st) && (! -z $SQL_CRON_HOME/tmp/send_au to_email.l st)) then
sqlplus -s user/password@production @$SQL_CRON_HOME/tmp/make_a uto_emails .sql
chmod 700 $SQL_CRON_HOME/tmp/send_au to_email.l st
$SQL_CRON_HOME/tmp/send_au to_email.l st
/bin/rm $SQL_CRON_HOME/tmp/auto_em ail_*
endif
sqlplus -s user/password@production @$SQL_CRON_HOME/increment_ cron_corp8 _every_5_m inutes_sta ts.sql
endif
endif
if (! -e $SQL_CRON_HOME/tmp/suspend _page_deve lopment_co nnect) then
sqlplus -s user/password@development @$SQL_CRON_HOME/test_conne ct > $SQL_CRON_HOME/tmp/test_co nnect_deve lopment
if (! -z $SQL_CRON_HOME/tmp/test_co nnect_deve lopment) then
touch $SQL_CRON_HOME/tmp/suspend _page_deve lopment_co nnect
/usr/bin/cat /home/oracledb/bin/IS_DBAS _email_and _pagers.ma il_recipie nt > $SQL_CRON_HOME/tmp/test_co nnect_deve lopment.ma il
echo "From: oracledb" >> $SQL_CRON_HOME/tmp/test_co nnect_deve lopment.ma il
echo "Subject: No Connect To DEVELOPMENT Database" >> $SQL_CRON_HOME/tmp/test_co nnect_deve lopment.ma il
echo "" >> $SQL_CRON_HOME/tmp/test_co nnect_deve lopment.ma il
echo "DEVELOPMENT: No Connect" >> $SQL_CRON_HOME/tmp/test_co nnect_deve lopment.ma il
/usr/lib/sendmail -t < $SQL_CRON_HOME/tmp/test_co nnect_deve lopment.ma il
/bin/rm $SQL_CRON_HOME/tmp/test_co nnect_deve lopment.ma il
else
sqlplus -s user/password@development @$SQL_CRON_HOME/show_conte ntion.sql > $SQL_CRON_HOME/tmp/content ion_develo pment
if (! -z $SQL_CRON_HOME/tmp/content ion_develo pment) then
/usr/bin/cat /home/oracledb/bin/IS_DBAS _email.mai l_recipien t > $SQL_CRON_HOME/tmp/content ion_develo pment.mail
echo "From: asd@asd.com" >> $SQL_CRON_HOME/tmp/content ion_develo pment.mail
echo "Subject: Database Lock Report: DEVELOPMENT" >> $SQL_CRON_HOME/tmp/content ion_develo pment.mail
echo "" >> $SQL_CRON_HOME/tmp/content ion_develo pment.mail
cat $SQL_CRON_HOME/tmp/content ion_develo pment >> $SQL_CRON_HOME/tmp/content ion_develo pment.mail
echo "" >> $SQL_CRON_HOME/tmp/content ion_develo pment.mail
echo "This mail was generated automatically by oracle's cron job running on corp8." >> $SQL_CRON_HOME/tmp/content ion_develo pment.mail
/usr/lib/sendmail -t < $SQL_CRON_HOME/tmp/content ion_develo pment.mail
/bin/rm $SQL_CRON_HOME/tmp/content ion_develo pment.mail
endif
sqlplus -s user/password@development @$SQL_CRON_HOME/test.sql > $SQL_CRON_HOME/tmp/test_tm p_developm ent
diff $SQL_CRON_HOME/tmp/test_tm p_developm ent_last $SQL_CRON_HOME/tmp/test_tm p_developm ent > $SQL_CRON_HOME/tmp/test_tm p_developm ent_diff
cp $SQL_CRON_HOME/tmp/test_tm p_developm ent $SQL_CRON_HOME/tmp/test_tm p_developm ent_last
if (! -z $SQL_CRON_HOME/tmp/test_tm p_developm ent_diff) then
/usr/bin/cat /home/oracledb/bin/IS_DBAS _email.mai l_recipien t > $SQL_CRON_HOME/tmp/test_tm p_developm ent.mail
echo "From: asd@asd.com" >> $SQL_CRON_HOME/tmp/test_tm p_developm ent.mail
echo "Subject: DEVELOPMENT Test Results" >> $SQL_CRON_HOME/tmp/test_tm p_developm ent.mail
echo "" >> $SQL_CRON_HOME/tmp/test_tm p_developm ent.mail
cat $SQL_CRON_HOME/tmp/test_tm p_developm ent_diff >> $SQL_CRON_HOME/tmp/test_tm p_developm ent.mail
/usr/lib/sendmail -t < $SQL_CRON_HOME/tmp/test_tm p_developm ent.mail
/bin/rm $SQL_CRON_HOME/tmp/test_tm p_developm ent.mail
endif
endif
endif
/usr/bin/rm $SQL_CRON_HOME/tmp/cron_co rp8_every_ 5_minutes_ in_progres s
endif
#!/bin/csh -f
source /home/oracledb/environment
#date
#echo /home/oracledb/bin/cron_co
if (-e $SQL_CRON_HOME/tmp/cron_co
if (! -e $SQL_CRON_HOME/tmp/cron_co
/usr/bin/touch $SQL_CRON_HOME/tmp/cron_co
cat /home/oracledb/bin/IS_DBAS
echo "From: asd@asd.com" >> $SQL_CRON_HOME/tmp/test_co
echo "Subject: cron_corp8_every_5_minutes
echo "" >> $SQL_CRON_HOME/tmp/test_co
echo "cron_corp8_every_5_minute
/usr/lib/sendmail -t < $SQL_CRON_HOME/tmp/test_co
endif
else
if (-e $SQL_CRON_HOME/tmp/cron_co
/usr/bin/rm $SQL_CRON_HOME/tmp/cron_co
endif
/usr/bin/touch $SQL_CRON_HOME/tmp/cron_co
cp /var/adm/messages /home/oracledb/bin/tmp/cor
diff /home/oracledb/bin/tmp/cor
if (! -z /home/oracledb/bin/tmp/cor
cat /home/oracledb/bin/IS_DBAS
echo "From: asd@asd.com" >> /home/oracledb/bin/tmp/cor
echo "Subject: Excerpt From corp8: /var/adm/messages" >> /home/oracledb/bin/tmp/cor
echo "" >> /home/oracledb/bin/tmp/cor
cat /home/oracledb/bin/tmp/cor
#/usr/lib/sendmail -t < /home/oracledb/bin/tmp/cor
endif
mv /home/oracledb/bin/tmp/cor
if (! -e $SQL_CRON_HOME/tmp/suspend
sqlplus -s cron/croncron@production @$SQL_CRON_HOME/test_conne
if (! -z $SQL_CRON_HOME/tmp/test_co
touch $SQL_CRON_HOME/tmp/suspend
cat /home/oracledb/bin/IS_DBAS
echo "Subject: No Connect To PRODUCTION Database" >> $SQL_CRON_HOME/tmp/test_co
echo "" >> $SQL_CRON_HOME/tmp/test_co
echo "PRODUCTION: No Connect" >> $SQL_CRON_HOME/tmp/test_co
/usr/lib/sendmail -t < $SQL_CRON_HOME/tmp/test_co
/bin/rm $SQL_CRON_HOME/tmp/test_co
else
sqlplus -s cron/croncron@production @$SQL_CRON_HOME/check_redo
if (! -z $SQL_CRON_HOME/tmp/check_r
sleep 15
sqlplus -s cron/croncron@production @$SQL_CRON_HOME/check_redo
if (! -z $SQL_CRON_HOME/tmp/check_r
cat /home/oracledb/bin/IS_DBAS
echo "From: asd@asd.com" >> $SQL_CRON_HOME/tmp/check_r
echo "Subject: Production Archiver Failed" >> $SQL_CRON_HOME/tmp/check_r
echo "" >> $SQL_CRON_HOME/tmp/check_r
echo "PRODUCTION: Archiver Failed" >> $SQL_CRON_HOME/tmp/check_r
/usr/lib/sendmail -t < $SQL_CRON_HOME/tmp/check_r
/bin/rm $SQL_CRON_HOME/tmp/check_r
endif
endif
sqlplus -s user/password@production @$SQL_CRON_HOME/show_conte
if (! -z $SQL_CRON_HOME/tmp/content
cat /home/oracledb/bin/IS_DBAS
echo "From: asd@asd.com" >> $SQL_CRON_HOME/tmp/content
echo "Subject: Database Lock Report: Production" >> $SQL_CRON_HOME/tmp/content
echo "" >> $SQL_CRON_HOME/tmp/content
cat $SQL_CRON_HOME/tmp/content
echo "" >> $SQL_CRON_HOME/tmp/content
echo "This mail was generated automatically by oracle's cron job running on corp8." >> $SQL_CRON_HOME/tmp/content
/usr/lib/sendmail -t < $SQL_CRON_HOME/tmp/content
/bin/rm $SQL_CRON_HOME/tmp/content
endif
sqlplus -s user/password@production @$SQL_CRON_HOME/test.sql > $SQL_CRON_HOME/tmp/test_tm
diff $SQL_CRON_HOME/tmp/test_tm
cp $SQL_CRON_HOME/tmp/test_tm
if (! -z $SQL_CRON_HOME/tmp/test_tm
cat /home/oracledb/bin/IS_DBAS
echo "From: asd@asd.com" >> $SQL_CRON_HOME/tmp/test_tm
echo "Subject: PRODUCTION Test Results" >> $SQL_CRON_HOME/tmp/test_tm
echo "" >> $SQL_CRON_HOME/tmp/test_tm
cat $SQL_CRON_HOME/tmp/test_tm
/usr/lib/sendmail -t < $SQL_CRON_HOME/tmp/test_tm
/bin/rm $SQL_CRON_HOME/tmp/test_tm
endif
if (-e $SQL_CRON_HOME/tmp/send_au
/bin/rm $SQL_CRON_HOME/tmp/send_au
endif
if (-e $SQL_CRON_HOME/tmp/make_au
/bin/rm $SQL_CRON_HOME/tmp/make_au
endif
sqlplus -s user/password@production @$SQL_CRON_HOME/check_auto
if ((-e $SQL_CRON_HOME/tmp/send_au
sqlplus -s user/password@production @$SQL_CRON_HOME/tmp/make_a
chmod 700 $SQL_CRON_HOME/tmp/send_au
$SQL_CRON_HOME/tmp/send_au
/bin/rm $SQL_CRON_HOME/tmp/auto_em
endif
sqlplus -s user/password@production @$SQL_CRON_HOME/increment_
endif
endif
if (! -e $SQL_CRON_HOME/tmp/suspend
sqlplus -s user/password@development @$SQL_CRON_HOME/test_conne
if (! -z $SQL_CRON_HOME/tmp/test_co
touch $SQL_CRON_HOME/tmp/suspend
/usr/bin/cat /home/oracledb/bin/IS_DBAS
echo "From: oracledb" >> $SQL_CRON_HOME/tmp/test_co
echo "Subject: No Connect To DEVELOPMENT Database" >> $SQL_CRON_HOME/tmp/test_co
echo "" >> $SQL_CRON_HOME/tmp/test_co
echo "DEVELOPMENT: No Connect" >> $SQL_CRON_HOME/tmp/test_co
/usr/lib/sendmail -t < $SQL_CRON_HOME/tmp/test_co
/bin/rm $SQL_CRON_HOME/tmp/test_co
else
sqlplus -s user/password@development @$SQL_CRON_HOME/show_conte
if (! -z $SQL_CRON_HOME/tmp/content
/usr/bin/cat /home/oracledb/bin/IS_DBAS
echo "From: asd@asd.com" >> $SQL_CRON_HOME/tmp/content
echo "Subject: Database Lock Report: DEVELOPMENT" >> $SQL_CRON_HOME/tmp/content
echo "" >> $SQL_CRON_HOME/tmp/content
cat $SQL_CRON_HOME/tmp/content
echo "" >> $SQL_CRON_HOME/tmp/content
echo "This mail was generated automatically by oracle's cron job running on corp8." >> $SQL_CRON_HOME/tmp/content
/usr/lib/sendmail -t < $SQL_CRON_HOME/tmp/content
/bin/rm $SQL_CRON_HOME/tmp/content
endif
sqlplus -s user/password@development @$SQL_CRON_HOME/test.sql > $SQL_CRON_HOME/tmp/test_tm
diff $SQL_CRON_HOME/tmp/test_tm
cp $SQL_CRON_HOME/tmp/test_tm
if (! -z $SQL_CRON_HOME/tmp/test_tm
/usr/bin/cat /home/oracledb/bin/IS_DBAS
echo "From: asd@asd.com" >> $SQL_CRON_HOME/tmp/test_tm
echo "Subject: DEVELOPMENT Test Results" >> $SQL_CRON_HOME/tmp/test_tm
echo "" >> $SQL_CRON_HOME/tmp/test_tm
cat $SQL_CRON_HOME/tmp/test_tm
/usr/lib/sendmail -t < $SQL_CRON_HOME/tmp/test_tm
/bin/rm $SQL_CRON_HOME/tmp/test_tm
endif
endif
endif
/usr/bin/rm $SQL_CRON_HOME/tmp/cron_co
endif
ASKER CERTIFIED SOLUTION
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
that basically includes that file. So any code in that file will get executed and any variables set will be available in the main script.
ASKER
which files i need to cat and show u to explain this shell script for me ?
It is generated, I need script that created it.
ASKER