当前位置:
文档之家› Windows操作系统日志的自动化定期归档备份
Windows操作系统日志的自动化定期归档备份
引证文献(1条)
1.刘秀波.王连海 Windows XP日志文件格式分析[期刊论文]-软件导刊 2011(1)
本文链接:/Periodical_hnjrdn200611026.aspx
cscript bak_win_Iog. js [ - e 备 份 程 序 的 目 录 [ - p 归档目录 ] [ - d 往前备份天数 ]
脚本支持三个参数,参数标志与参数内容之间 不留空格。
- e 备份程序的目录 ( dumpeI. exe 所在的目 录)。
缺省为空, 这时备份程序要在当前目录或者 系统的 PATH 中。
Windows XP 和 Windows 2003 等系统环境下通过测 试,均较好地完成了 Windows 系统日志自动化归档 备份的任务。
完整的脚本如下:
/ / bak_win_Iog. js / / 获得当前时间 YYYYMMDD 表示的函数 function getCurYYYYMMDD ( ) { today = new Date ( ) ; var year = today. getFuIIYear ( ) ; var month = today. getMonth ( ) + l; if ( month < l0 ) { month = ~0~ + month; } var date = today. getDate ( ) ; if ( date < l0 ) { date = ~0~ + date; }
( 责任编辑: 高碧波 )
!" NoV. l0,2006 No. ll
Windows操作系统日志的自动化定期归档备份
作者: 作者单位: 刊名:
英文刊名: 年,卷(期): 被引用次数:
李承康 中国人民银行广州分行
华南金融电脑 FINANCIAL COMPUTER OF HUANAN 2006,14(11) 1次
Windows 的 Resource Kit 工具包中提供了一个 免费的工具软件叫 dumpeI. ex( e Dump Event Log)。 它是一个运行在 Win32 平台的命令行程序,可以将 Windows 操作 系统日 志按 一定的 标准 备份到 一个 可被 ExceI 打开的格式化的文本文件。dumpeI. exe 通过命令行参数指定备份日志的类型(应用程序、 安全性、系统)、备份日志文件的路径、以及往前备 份日志的天数等。dumpeI. exe 的下载地址 http: / / www. microsoft. com / downIoads / detaiIs. aspx? FamiIyID = c9c3lb3d - c3a9 - 4a73 - 86a3 - 630a3c475c la&DispIayLang = en。
!"
应用技术
2006 年 ll 月 l0 日 第 ll 期
FINANCIAL COMPUTER OF HUANAN.
Windows 操作系统日志的 自动化定期归档备份
旁 中国人民银行广州分行 李承康
一、技术简介 操作系统日志,按照一定规范记录了一个操作 系统运行的各个方面的细节情况,是操作系统生产 运行中产生的重要客观历史数据,用于操作系统的 排错、优化和安全审计。操作系统日志的归档备份, 是操作系统日常运行维护的一项重要工作,对操作 系统的安全稳定运行具有重要意义。在中国人民银 行 总 行科 技 司 下 发 2006 年 分 支 行 考 核 指标 体 系 中,系统日志定期归档也是应用系统运行维护部分 的一项考核内容。 Windows 操 作 系 统 维 护 三 个 相 互 独 立 的 日 志 文件:应用程序日志、安全性日志、系统日志。这三 个日志按其独有的 EVT 格式,保存在 Windows 安 装目录的 system32 \ config \ 子目录中。操作系统本 身并没有提供系统日志自动归档备份的功能,同时 由于操作系统占用的原因,这三个日志文件不能通 过直接拷贝的方法来备份,只能在事件查看器中通 过选择菜单“另存日志文件”来逐个手工备份。当系 统数量较多时,机械性的日志手工归档备份就占用 了相当大的工作量,同时操作起来也不够标准与规 范。 从“提高工作效率,规范工作流程,增强工作能 力”的思路出发,笔者摸索出一套综合运用工具软 件、脚本语言和计划任务实现 Windows 操作系统日 志自动化归档备份的方法。
/ / 执行程序, 导出三个日志 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”+ ath + YYYYMM +“ \ \ ”+ YYYYMMDD +“_sys. xls / d”+ days, 0, true ) ; 三、思考体会 本 文 所 介 绍 的 方 法 与 思 路 并 不 局 限 于 Windows 操作系统的日志本身,横向可适用于其他操作 系统 ( 如 AIX、Linux 系统 ) 的日志备份,纵向可适用 于数据库、应用或网络设备的日志备份。 在我们系统日常的运行维护管理工作中,存在 着大量类似操作系统日志归档备份这样规范性高, 重复性强的机械性工作,如数据备份、指标检查和 文件清理等,如果都靠系统管理员一项一项地手工 来完成,一方面工作效率低下,另一方面也会因为 人的外部可变因素而导致工作完成得不够及时、标 准和规范。而这种规范性高、重复性强的机械性工 作,则正是计算机所擅长处理的,大量的机械化工 作往往都可以借助系统本身或者其它途径用自动 化的方式来很好地完成。在遵守系统运行维护管理 制度的前提下,充分采用自动化的手段来完成系统 的运行维护管理,一方面可以提高工作的标准与规 范,另一方面也可以使系统管理员减少不必要的工 作负担,解放生产力,将时间与精力放在真正需要 的地方。 运行维护管理自动化,是通过让计算机去完成 大量重复性的机械工作来减轻系统管理员的负担, 但并不意味着系统管理员的工作就可以轻视或者 免除。系统管理员的人工维护管理,是必不可少和 不可取代的。同时,运行维护管理自动化,必须在遵 守和结合系统运行维护管理制度的前提下,根据具 体系统和环境因地制宜地进行,而不存在一个通用 和万能的解决办法,需要人主动地、创造性地去制 定和实现,这也正是系统管理员的职责所在。
仅靠日志备份工具软件不能完全实现日志的 定 期 归 档 备 份 , 还 需 要 借 助 Windows 脚 本 语 言 (Windows Script)来调用和组织日志的归档备份。 Windows 脚本语言是一种内嵌于 Windows 操作系 统的解释型语言,使用简便、功能强大、接口良好。 借助 Windows 脚本,只需要通过编写小巧的脚本, 而不是传统的程序,就可以调用操作系统本身或者 其它软件组件所提供的功能,来完成系统运行维护 管理的各项工作。同时,因为脚本语言具有非交互 性的特点,还便于在系统的计划任务中设置定期自 动执行。
二、使用说明 Windows 脚本(bak_win_Iog. js)实现了 Windows 操作系统应用程序、安全性和系统日志定期归档备
!" NOV. l0,2006 NO. ll
FINANCIAL COMPUTER OF HUANAN.
应用技术
!!
2006 年 ll 月 l0 日 第 ll 期
份,备份日志按月分目录组织归档存放。它的命令 行用法如下:
- p 归档目录(备份日志归档存放的目录)。 缺省为空, 即当前目录。 - d 往前备份天数(从今天起往前备份多少天 的日志)。 缺省为 l, 即只备份昨天和今天到目前为止的 日志。 假设今天是 2006 年 8 月 ll 日,dumpdeI. exe 保 存在 c: \ exe \ 目录,日志要备份到 d: \ win_Iog \ 目录, 则命令行 cscript bak_win_Iog. js - ec: \ exe \ - pd: \ win_Iog \ - d7 的执行结果就是将 8 月 4 日至 8 月 ll 日之间的系统日志保存在 d: \ win_Iog \ 200608 \ 的目 录中,三个类型的日志备份文件名分别是 200608ll_ app. xIs、200608ll_sec. xIs、200608ll_sys. xIs。
日志备份归档软件的安装分两步完成。第一
步 , 在 计 算 机 的 一 个 目 录 中 复 制 dumpeI. exe 和 bak_win_Iog. js 两个文件。第二步,在控制面板的任 务计划中新建一个任务,按照上述的命令行格式填
好脚本的各个参数,并设置计划任务的日程安排
(例如每天凌晨 00: 00 执行)即可。 这 个 方 法 在 Windows NT 4、 Windows 2000、
return year + month + date; } / / 补齐目录结尾的‘ \ ’ function makeDir ( str ) { if ( str. charAt ( str. Iength - l ) I = ‘ \ \ ’) { return str +“ \ \ ”; }eIse { return str; } } / / 处理命令行参数 var args = Wscript. Arguments; var days = l; var path = ~~; var exepath = ~~; for ( i = 0; i < args. Iength; i + + ) {