文章导航PC6首页软件下载单机游戏安卓资源苹果资源

pc软件新闻网络操作系统办公工具编程服务器软件评测

安卓新闻资讯应用教程刷机教程安卓游戏攻略tv资讯深度阅读综合安卓评测

苹果ios资讯苹果手机越狱备份教程美化教程ios软件教程mac教程

单机游戏角色扮演即时战略动作射击棋牌游戏体育竞技模拟经营其它游戏游戏工具

网游cf活动dnf活动lol周免英雄lol礼包

手游最新动态手游评测手游活动新游预告手游问答

您的位置:首页网络冲浪网络技术 → 利用脚本编程格式化输出转存系统日志

利用脚本编程格式化输出转存系统日志

时间:2004/10/8 16:46:00来源:本站整理作者:蓝点我要评论(0)

日志对于操作系统来说其重要性时不言而喻的,一个优秀的nt网络的管理员,往往会定期的备份系统日志,以备查询服务器运行状况及系统安全状况。
如果利用系统日志的“另存为”功能手工备份,则比较麻烦,而且输出的日志难以实现格式化输出,微软的resource kit工具包中有一个免费的查看本地或远程日志的小工具dumpel.exe,利用它可以把日志存为文本文件以备后需,在这里我利用windows脚本编程来实现定期备份并格式化输出html文件,如果条件许可,可以直接转储到打印机上打印。下面是具体的实现方法。
windows脚本编程包括vbscript和javascript,这也是网页特效编程中常见的语言,实际上利用vbs和js强大的系统和网络管理功能,可以使系统管理员简化很多工作的。

vbs和js本身不提供察看日志的方法,但wscript.shell具有run方法,即可以运行windows命令,所以我们要借助上面说的dumpel工具,首先说一下它的使用方法,

dumpel -f file [-s \\\\server] [-l log [-m source]] [-e n1 n2 n3...] [-r] [-t] [-d x]
常用的参数:
-f file 即为日志的存储位置和文件名
-s server 在查看远程日志时使用(必须有admin权限)
-m 过滤日志条件
-l 指定日志,如系统日志(system),应用程序(application),安全日志(security),域控制器还有dns,文件复制等

例如,要把server01上安全日志保存为security.log,
命令:dumpel -f security.log -s \\\\server01 -l security
然后即产生一个security.log的文本文档,为了得到格式化输出的日志文件,我们采取下面的编程方法:

假设我们要查看日志的服务器为\\\\server, 存储位置为\\\\data\\backup,文件名为 "计算机名+日期+日志类型".html
并通过计划任务,一天产生一个html文档,原代码如下:

logreport.js

month=new Array(12)
month[1]="一月"
month[2]="二月"
month[3]="三月"
month[4]="四月"
month[5]="五月"
month[6]="六月"
month[7]="七月"
month[8]="八月"
month[9]="九月"
month[10]="十月"
month[11]="十一月"
month[12]="十二月"

days=new Array(7)
days[1]="星期日"
days[2]="星期一"
days[3]="星期二"
days[4]="星期三"
days[5]="星期四"
days[6]="星期五"
days[7]="星期六"
function theData(aDate)
{
  var currentday=days[aDate.getDay()+1]
  var currentmonth=month[aDate.getMonth()+1]
  return currentday+","+currentmonth+","+aDate.getDate()
}
var result;result=0
var ws=WScript.CreateObject("WScript.shell")
c=ws.expandenvironmentstrings("%computername%")
netdrive="\\\\date\\backup"

today=new Date()
var logday=today.getDate()
var logmonth=today.getMonth()

logarray=new Array(2)
logarray[0]="system"
logarray[1]="application"
logarray[2]="security"
for (l in logarray) {
ws.run("dumpel.exe /s \\\\server /l "+logarray[l]+" /f "+netdrive+"\\\\"+c+"-"+logmonth+"-"+logday()+"-"+logarray[l]+".log /d 1",
  0,"TRUE")
}
ForReading=1
ForAppending=8


for (l in logarray) {

var fs=new ActiveXObject("scripting.FileSystemObject")
var f=fs.opentextfile(""+netdrive+"\\\\"+c+"-"+logmonth+"-"+logday()+"-"+logarray[l]+".log",ForReading,"TRUE")
fContents=f.ReadAll()
f.Close()


var f=fs.OpenTextFile(""+netdrive+"\\\\"+c+"-"+logmonth+"-"+logday()+"-"+logarray[l]+".htm",ForAppending,"TRUE")
fHeader="Daily " <BR>fHeader+=logarray[l] <BR>fHeader+=c <BR>fHeader+=""
fHeader+=""
fHeader+="

daily"
fHeader+=logarray[l]
fHeader+=" log report for "
fHeader+=c
fHeader+="

"
fHeader+="

"


fHeader+=theData(today)

fHeader+="

"
fHeader+="
" 

f.Write(fHeader)
f.Write(fContents)

fFooter="
"

fWrite(fFooter)
f.Close()
}


将以上代码用记事本打开,并把后缀名存为js,并与dumpel.exe放在同一目录下,双击即可运行,运行后自动建立"计算机名+日期+日志类型".html


要使此脚本程序定期的进行日志备份,可以利用windows图形化的计划任务或是“at"命令。

利用图形化的计划任务使脚本自动执行非常简单,这里不再详细介绍,用at命令同样可以达到目的。
例如需要在每天的0:00执行此脚本来备份系统日志,则在命令提示行下输入
at \\\\server/every M,T,W,Th,F,S,Su 0:00"path\\logreport.js"
此处server为logreort.js所在的机器,本机可省略。
path为logreport.js所在的路径,默认的为%systemroot%


相关阅读 Mac访问Windows共享文件夹Windows 7正版系统验证方法windows 8.1系统版本号查看方法Windows 8.1系统电话激活时无法输入微软返回代码解决方法Windows 8如何调整屏幕分辨率windows8.1磁盘占用100%解决方法Mac双系统如何删除Boot Camp安装的Windows分区Apple教你如何在Mac 上运行 Windows

文章评论
发表评论

热门文章 小米路由器设置教程附共享有线路由后再接无TP-link无线路由器设置D-Link DI-524M路由器

最新文章 百度不收录怎么办 百度如何绑定host win7如何 ssid隐藏了怎么办?隐藏SSID的无线网络如何OneDNS设置教程两块网卡访问不同网络案例分享阿里DNS(AliDNS)详细设置图示

人气排行 buffalo无线路由器设置图文教程ADSL宽带连接错误(720)及解决方法哪种WIFI无线各种加密方式更安全?dell 服务器开机总是提示按F1才能进系统解决双网卡同时上内外网设置教程gd格式文件怎么打开宽带连接图标不见了怎么办 宽带连接图标怎么网络频繁掉线是什么原因