Benutzer-Werkzeuge

Webseiten-Werkzeuge


linux:delete_audit_logs

Oracle Audit Log Files unter Linux löschen

Das Problem:

Mit der Zeit sammlen sich die SYS audit connections Logs im Audit Verzeichnis auf der Platte an.

Besonders in einer Oracle Cluster Umgebung kommen hier schnell mal ein paar hundertausend oder gar Millionen von Dateien zusammen.

Ein einfaches „rm *“ führt hier dann nicht mehr zum gewünschten Ziel! Die Schell kann das bei solche großer Anzahl nicht mehr expandieren!

Neuere Dateien sollen zudem noch aufgehoben werden und ab einer gewissen Menge an Dateien ist ein „*“ gar keine gute Idee mehr!

Siehe dazu aber auch die Möglichkeit das intern mit ⇒ Die Audit Logs der Datenbank unter Oracle 11g/12c mit DBMS_AUDIT_MGMT "aufräumen" .


Lösung A: Über Find mit dem Datei Datum löschen:

Finde all die älter als 160 Tage sind:

#Liste die Anzahl über die Tage auf:
ls -la | awk '{ print $7 "-" $6 }' | sort | uniq -c 
 
#Alternativ über stat !Langsamer
find . -name "*.aud" -exec stat -c %y {} \; | awk '{ print $1 }' | sort | uniq -c 
 
 
#Lösche Dateien die älter als 160 Tage sind:
 
find . -name "*" -mtime +160 -exec rm {} \;

Lösung B: Mit einem Script automatisieren:

  • Timestamp ermitteln ab dem gelöscht werden soll mit „date –date „now -6 months“ +“%s„.
  • Loop über alle Files
  • Test wie alt die Datei ist, wenn älter als xxx dann löschen

Skript:

delete_audit_log_older_then.sh
#!/bin/sh
 
FILES=/u01/app/11.2.0.4/grid/rdbms/audit/*.aud
LOG_FILE=/tmp/aud_delete_logs_list.log
 
DATE_NOW_EPOCH=`date +%s`
#Get the epoch 6 Month ago
DATE_DELETE_OLDER=`date --date "now -6 months" +"%s"`
 
echo "Info - check the age of the file - start at  -- `date` -- " > $LOG_FILE
 
for f in $FILES
do
  #File date as epoch 
  FILE_DATE=`stat -c %Y ${f}`
  FILE_LOG_DATE=`stat -c %y ${f}`
  if [[ $FILE_DATE -lt $DATE_DELETE_OLDER ]];
  then
   echo "Info - delete :: ${FILE_LOG_DATE} ${f}"  >> $LOG_FILE
   rm ${f}
  fi
done
 
echo "Info - finish at  -- `date` -- "        >> $LOG_FILE

Das kann dann automatisiert regelmäßig laufen und die Umgebung „säubern“.

Diese Website verwendet Cookies. Durch die Nutzung der Website stimmen Sie dem Speichern von Cookies auf Ihrem Computer zu. Außerdem bestätigen Sie, dass Sie unsere Datenschutzbestimmungen gelesen und verstanden haben. Wenn Sie nicht einverstanden sind, verlassen Sie die Website.Weitere Information
linux/delete_audit_logs.txt · Zuletzt geändert: 2018/07/18 15:50 von gpipperr