#! /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.D'abord, comment puis-je planifier l'exécution du script toutes les 1 heure?Comment envoyer un e-mail à partir d'un script Unix
2.Secondly, l'exigence est d'envoyer un e-mail à condition tels que:
si total_records < 1, puis un e-mail de notification d'alerte UP doivent être envoyés à [email protected]
Et dès que total_records est supérieur à 1, une nouvelle notification d'alerte DOWN ALERT est envoyée à [email protected]
NOTE: Jusqu'à ce que total_records> 1, aucune telle chose (pt.2) ci-dessus à suivre. Seulement, quand il total_records < 1, nous devons suivre l'étape 2.
Ici, total_records représente les transactions, donc il changera toutes les heures (comme le signifie tr.TIMESTAMP
). tr représente la table de transaction.
im essayer ce qui suit mais bientôt envoyer un email, il se déplace hors de la boucle: '#!/bin/bash cat sql.out | alors lisez la suite do i = 'echo $ next | awk -F "|" '{print ($ 1)}' ' j =' echo $ suivant | awk -F "|" '{print ($ 2)}' ' k =' echo $ suivant | awk -F "|" '{print ($ 3)}' ' si [" $ k "== 0] alors mail -s" $ i's $ j est DOWN, veuillez prendre les mesures nécessaires "xyz @ mail.com sinon mail -s "tout va bien" [email protected] fi fait'. Donc, si la valeur n'est pas 0, il envoie un message "tout va bien – ErAB
à la ligne1 et aucune autre action. Comme sur la ligne 4 nous avons la valeur ZERO comme $ k, donc il devrait aussi envoyer un email avec" $ i's $ j est DOWN, veuillez prendre les mesures nécessaires. "Il lit chaque ligne mais dès qu'il envoie un email, il sort de la boucle ou de la déclaration IF, pourquoi? – ErAB