В настоящее время я пытаюсь выработать метод очистки журналов Oracle Recover, созданных Cron...
В настоящее время наш резервный процесс восстановления Oracle вызывается Cron каждые 15 минут, используя следующую команду:
0,15,30,45 * * * * /data/tier2/scripts/recover_standby.sh SID >> /data/tier2/scripts/logs/recover_standby_SID_`date +\%d\%m\%y`.log 2>&1
Это создает файлы, которые выглядят следующим образом:
$ ls -l /data/tier2/scripts/logs/
total 0
-rw-r--r-- 1 oracle oinstall 0 Feb 1 23:45 recover_standby_SID_010213.log
-rw-r--r-- 1 oracle oinstall 0 Feb 2 23:45 recover_standby_SID_020213.log
-rw-r--r-- 1 oracle oinstall 0 Feb 3 23:45 recover_standby_SID_030213.log
-rw-r--r-- 1 oracle oinstall 0 Feb 4 23:45 recover_standby_SID_040213.log
-rw-r--r-- 1 oracle oinstall 0 Feb 5 23:45 recover_standby_SID_050213.log
-rw-r--r-- 1 oracle oinstall 0 Feb 6 23:45 recover_standby_SID_060213.log
-rw-r--r-- 1 oracle oinstall 0 Feb 7 23:45 recover_standby_SID_070213.log
-rw-r--r-- 1 oracle oinstall 0 Feb 8 23:45 recover_standby_SID_080213.log
-rw-r--r-- 1 oracle oinstall 0 Feb 9 23:45 recover_standby_SID_090213.log
-rw-r--r-- 1 oracle oinstall 0 Feb 10 23:45 recover_standby_SID_100213.log
-rw-r--r-- 1 oracle oinstall 0 Feb 11 23:45 recover_standby_SID_110213.log
-rw-r--r-- 1 oracle oinstall 0 Feb 12 23:45 recover_standby_SID_120213.log
Я в основном хочу удалить файлы старше, чем x дней, и я думал, что logrotate будет идеально подходит для...
Я настроил logrotate со следующим конфигурационным файлом:
/data/tier2/scripts/logs/recover_standby_*.log {
daily
dateext
dateformat %d%m%Y
maxage 7
missingok
}
Есть ли что-то, что мне не хватает, чтобы получить желаемый результат?
Я предполагаю, что смогу удалить дату из файла журнала Crontab, а затем запустить файл rotrotate, но тогда дата в файле журнала не отражает день создания журналов... т.е. Recoveries on 010313 будет находиться в файл с датой 020313 из-за логротата на 020313 и поворота файла...
Любые другие идеи? И благодарю вас за любые ответы.
Привет
Гэвин