[20210623]完善清除aud指令碼.txt

lfree發表於2021-06-24

[20210623]完善清除aud指令碼.txt

--//發現自己寫的清除aud指令碼通用性不好,每次都要修改,寫一個通用指令碼.而且一些伺服器有多個例項的情況.
--//編寫指令碼如下:

# cat /usr/local/bin/purge_oracle_aud.sh
#! /bin/bash
# purge oracle audit log

odebug=${ODEBUG:-0}

if (( $# < 1  ))
then
        echo "arguments is insufficiency , argumentN = oracle_sid N>=1"
        exit  1
fi

for i in  "$@"
do
        if [ -d /u01/app/oracle/admin/${i}/adump/ ]
        then
                echo
                echo "start purge oracle audit ${i} at : " $(/bin/date +'%Y/%m/%d %T')
                /usr/bin/find /u01/app/oracle/admin/${i}/adump/ -mtime +30  -name "${i}_ora_*.aud" -print -delete
                echo "end   purge oracle audit ${i} at : " $(/bin/date +'%Y/%m/%d %T')
                echo
        else
                echo "/u01/app/oracle/admin/${i}/adump/ directory is not exist"
                exit 2
        fi
done

# chmod 700 /usr/local/bin/purge_oracle_aud.sh

--//還是通用性不好,沒有利用環境變數$ORACLE_BASE,先暫時這樣沒時間.

2.加入crontab指令碼:

#  cat /etc/cron.d/ntp
34 6 * * * root /usr/local/bin/purge_oracle_aud.sh dbcndg2 >> /var/log/purge_oracle_aud.log 2>&1
--//每天6:34分執行.

3.修改/etc/logrotate.d/oracle,加入如下:
#  grep -v "^#" /etc/logrotate.d/oracle

/var/log/purge_oracle_aud.log
{
    size=20M
    rotate 5
    copytruncate
    compress
    notifempty
    missingok
}

--//定期清除/var/log/purge_oracle_aud.log內容,另外我感覺使用連結http://blog.itpub.net/267265/viewspace-2666133/方式管理
--//audit更加合理一些.

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/267265/viewspace-2778110/,如需轉載,請註明出處,否則將追究法律責任。

相關文章