日期:2014-05-17 浏览次数:21558 次
?
?
1、windows系统日志的存储:
windows的系统日志存储在C:\WINDOWS\system32\config目录,文件后缀为evt。
2、导出工具:
使用dumpel.exe可以导出windows的系统日志。
dumpel.exe可以去微软官网下载,地址:http://support.microsoft.com/kb/927229。
下载后的dumpel.exe是个安装文件,安装完后可以在安装目录找到一个dumpel.exe,我们需要的是安装后的dumpel.exe。
3、导出脚本:
直接使用dumpel.exe不容易实现自动定期导出系统日志。所以需要编写个脚本。脚本内容:
?
//获得YYYYMMDD格式的当前时间 function getCurYYYYMMDD() { var today = new Date(); var year = today.getYear(); var month = today.getMonth() + 1; if (month < 10) { month = "0" + month; } var date = today.getDay(); if (date < 10) { date = "0" + date; } return year + "" + month + "" + date; } //补齐目录结尾的'\' function makeDir(str) { if (str.charAt(str.length - 1) != '\\') { return str + "\\"; } else { return str; } } //处理命令行参数 var args = WScript.Arguments; var days = 1; var path = ""; var exepath = ""; for (i = 0; i < args.length; i++) { var a = args(i); if (a.indexOf("-e") == 0) { exepath = a.substring(2, a.length); } if (a.indexOf("-p") == 0) { path = a.substring(2, a.length); } if (a.indexOf("-d") == 0) { days = a.substring(2, a.length); } } //补齐目录结尾的'\' exepath = makeDir(exepath); path = makeDir(path); //获取当前时间 var YYYYMMDD = getCurYYYYMMDD(); var YYYYMM = YYYYMMDD.substring(0, 6); //判断按月存放的目录是否存在 var fso = new ActiveXObject("Scripting.FileSystemObject"); if (fso.FolderExists(path + YYYYMM) != true) { fso.CreateFolder(path + YYYYMM); } //执行程序,导出日志 var ws = new ActiveXObject("WScript.shell"); ws.run(exepath + "dumpel.exe /l" + " application" + " /f " + path + YYYYMM + "\\" + YYYYMMDD + "_app.xls /d " + days, 0, true); ws.run(exepath + "dumpel.exe /l" + " security" + " /f " + path + YYYYMM + "\\" + YYYYMMDD + "_sec.xls /d " + days, 0, true); ws.run(exepath + "dumpel.exe /l" + " system" + " /f " + path + YYYYMM + "\\" + YYYYMMDD + "_sys.xls /d " + days, 0, true);?
?
4、执行命令:
cscript bak_win_log.js -eD:\Desktop -pD:\winlog -d7
使用windows的任务计划执行该命令就实现了定期导出。
*dumpel的安装目录里的dumpel_d.htm是使用说明。
?