前几天又遇到Windows上面listener日志和alert日志达到4G,导致数据库宕机的问题,所以自己捉摸了一个自动清理的脚本。
@echo off
rem FileSize以KB为单位指定当日志文件达到多大时进行截断,默认是2GB
rem FileBakName指定备份的日志文件名,不能使用全路径!
rem FileBak备份日志的文件名,需指定全路径!
rem FileName需要截断的日志文件,需指定全路径!
set /a FileSize=2*1024*1024
set FileBakName="alter.log.bak"
set FileBak="D:\工作文档\temp\alter.log.bak"
set FileName="D:\工作文档\temp\alter.log"
if exist %FileName% (
for %%i in (%FileName%) do (
set /a CurrentSize=%%~zi/1024
if %CurrentSize% gtr %FileSize% (
if exist %FileBak% (
del %FileBak%
)
ren %FileName% %FileBakName%
)
)
)
很原始,只能监控一个日志文件,而且要手动设置几个参数,最后加入到计划任务里面就行了。
这个问题如果是在linux下可以用logrotate工具解决,logrotate是一个让日志文件自动按周期归档的工具,以避免日志文件过大。
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/28998293/viewspace-1167667/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/28998293/viewspace-1167667/