35 lines
1.4 KiB
Bash
35 lines
1.4 KiB
Bash
#!/bin/bash
|
|
# script pour vérifier les logs des fichiers datapump et voir si des erreurs sont présentes
|
|
|
|
EXPDP_DIR="/u04/backup"
|
|
CURRENT_DATE=$(date +%Y_%m) # date au format 2025_04
|
|
|
|
echo "<h2>Vérification des logs des exports Datapump</h2>"
|
|
|
|
# vérifier si une erreur ORA- est pésente dans les fichiers logs
|
|
echo "<h3>Vérification de la présence d'erreurs dans les logs :</h3>"
|
|
RESULT=$(find "${EXPDP_DIR}" -iname "export_*.log" -exec grep -H "ORA-" "{}" \;)
|
|
if [ -z "$RESULT" ]; then
|
|
echo "<pre>Aucune erreur ORA- détectée dans les fichiers logs du mois ${CURRENT_DATE}.</pre>"
|
|
else
|
|
echo "<pre>$RESULT</pre>"
|
|
fi
|
|
|
|
# afficher les dernières lignes des fichiers log pour voir les les exports se sont bien déroulés
|
|
echo "<h3>Vérification des dernières lignes dans les logs :</h3>"
|
|
# find "${EXPDP_DIR}" -iname "export_*.log" -exec bash -c 'echo "<b>--- {} ---</b><pre>"; head -10 "{}"; echo "</pre><pre>"; tail -10 "{}"; echo "</pre>"' \;
|
|
# autre façon d'écrire la commande find : définition de la fonction d'affichage plus lisible
|
|
show_log_excerpt() {
|
|
local file="$1"
|
|
echo "<b>--- ${file} ---</b>"
|
|
echo "<pre>"
|
|
head -10 "$file"
|
|
echo "</pre><pre>"
|
|
tail -10 "$file"
|
|
echo "</pre>"
|
|
}
|
|
# export pour rendre la fonction accessible à bash -c
|
|
export -f show_log_excerpt
|
|
|
|
# find appelle la fonction en lui passant $0 comme paramètre
|
|
find "${EXPDP_DIR}" -iname "export_*.log" -exec bash -c 'show_log_excerpt "$0"' {} \; |