用脚本管理服务器日志

本文涉及的产品
日志服务 SLS,月写入数据量 50GB 1个月
简介:
       您是否经常碰到在登录系统时“系统日志已满,请清空日志”的警告消息呢?如果您的是终端服务器还可能造成终端用户无法登录等问题,即使将日志存储空间加大也会有满的一天,但是作为一名专业的管理员,服务器的日志又是那么的重要,就算你没时间全部阅读一遍,最起码也要保留一份作为日后排错用。那么以下的小脚本就可以帮你解除这些烦恼:
 
1:备份并清空系统日志,复制代码另存为SysEvtLog_Clear_bak_C.vbs
 
  1. On Error Resume Next  
  2. strYear = Year(Date)  
  3. strMonth = Month(Date)  
  4. If strMonth < 10 Then strMonth = 0 & strMonth  
  5. strDay = Day(Date)  
  6. If strDay < 10 Then strDay = 0 & strDay  
  7. strDate = strYear & strMonth & strDay '得到当前日期  
  8. strLogfileName = strYear & strMonth & strDay  
  9. Set objFSO = CreateObject("Scripting.FileSystemObject")  
  10. strPath = "c:\"  '日志保存位置  
  11. strComputer = "." 
  12. Set objWMIService = GetObject("winmgmts:" & "{impersonationLevel=impersonate,(Backup)}!\\" & strComputer & "\root\cimv2")  
  13. Set colLogFiles = objWMIService.ExecQuery("Select * from Win32_NTEventLogFile where LogFileName='System'")  
  14. For Each objLogfile in colLogFiles  
  15.  objLogFile.BackupEventLog(strPath & "System(" & strLogfileName & ").evt")  
  16.  objLogFile.ClearEventLog()  
  17. Next 
 
 
2:备份并清空应用程序日志,复制代码另存为AppEvtLog_Clear_bak_C.vbs
 
  1. On Error Resume Next  
  2. strYear = Year(Date)  
  3. strMonth = Month(Date)  
  4. If strMonth < 10 Then strMonth = 0 & strMonth  
  5. strDay = Day(Date)  
  6. If strDay < 10 Then strDay = 0 & strDay  
  7. strDate = strYear & strMonth & strDay '得到当前日期  
  8. strLogfileName = strYear & strMonth & strDay  
  9. Set objFSO = CreateObject("Scripting.FileSystemObject")  
  10. strPath = "c:\" '日志保存位置  
  11. strComputer = "." 
  12. Set objWMIService = GetObject("winmgmts:" & "{impersonationLevel=impersonate,(Backup)}!\\" & strComputer & "\root\cimv2")  
  13. Set colLogFiles = objWMIService.ExecQuery("Select * from Win32_NTEventLogFile where LogFileName='Application'")  
  14. For Each objLogfile in colLogFiles  
  15.  objLogFile.BackupEventLog(strPath & "Application(" & strLogfileName & ").evt")  
  16.  objLogFile.ClearEventLog()  
  17. Next 
 
 
3:备份并清空安全日志,复制代码另存为SecEvtLog_Clear_bak_C.vbs
 
  1. On Error Resume Next  
  2. strYear = Year(Date)  
  3. strMonth = Month(Date)  
  4. If strMonth < 10 Then strMonth = 0 & strMonth  
  5. strDay = Day(Date)  
  6. If strDay < 10 Then strDay = 0 & strDay  
  7. strDate = strYear & strMonth & strDay '得到当前日期  
  8. strLogfileName = strYear & strMonth & strDay  
  9. Set objFSO = CreateObject("Scripting.FileSystemObject")  
  10. strPath = "c:\" '日志保存位置  
  11. strComputer = "." 
  12. Set objWMIService = GetObject("winmgmts:" & "{impersonationLevel=impersonate,(Backup, Security)}!\\" & strComputer & "\root\cimv2")  
  13. Set colLogFiles = objWMIService.ExecQuery("Select * from Win32_NTEventLogFile where LogFileName='Security'")  
  14. For Each objLogfile in colLogFiles  
  15.  objLogFile.BackupEventLog(strPath & "Security(" & strLogfileName & ").evt")  
  16.  objLogFile.ClearEventLog()  
  17. Next 
 
将上面的脚本设置计划任务,每月最后一天运行即可(自行定义备份频率)。
其中代码 objLogFile.ClearEventLog() 为清空日志,如果只需要备份而不清空日志的话删除此行即可。


本文转自yangye1985 51CTO博客,原文链接:http://blog.51cto.com/yangye/265076,如需转载请自行联系原作者

相关实践学习
【涂鸦即艺术】基于云应用开发平台CAP部署AI实时生图绘板
【涂鸦即艺术】基于云应用开发平台CAP部署AI实时生图绘板
相关文章
|
12月前
|
存储 关系型数据库 数据库
【赵渝强老师】PostgreSQL的服务器日志文件
本文介绍了PostgreSQL数据库的物理存储结构,重点讨论了服务器日志文件。通过`pg_ctl`命令启动PostgreSQL实例时,使用`-l`参数指定日志文件位置,记录数据库启动、运行及关闭过程中的关键信息。附有相关视频讲解和日志文件示例。
306 0
|
3月前
|
运维 监控 安全
EventLog Analyzer:高效的Web服务器日志监控与审计解决方案
ManageEngine EventLog Analyzer是一款企业级Web服务器日志监控与审计工具,支持Apache、IIS、Nginx等主流服务器,实现日志集中管理、实时威胁检测、合规报表生成及可视化分析,助力企业应对安全攻击与合规挑战,提升运维效率。
188 0
|
8月前
|
安全 Linux
阿里云linux服务器使用脚本通过安全组屏蔽异常海外访问ip
公网网站可能会遭受黑客攻击导致访问异常,使用此脚本可以屏蔽掉异常IP 恢复访问。也可自行设置定时任务定期检测屏蔽。
608 28
|
Java Shell
「sh脚步模版自取」测试线排查的三个脚本:启动、停止、重启、日志保存
「sh脚步模版自取」测试线排查的三个脚本:启动、停止、重启、日志保存
201 1
|
8月前
|
存储 监控 API
【Azure App Service】分享使用Python Code获取App Service的服务器日志记录管理配置信息
本文介绍了如何通过Python代码获取App Service中“Web服务器日志记录”的配置状态。借助`azure-mgmt-web` SDK,可通过初始化`WebSiteManagementClient`对象、调用`get_configuration`方法来查看`http_logging_enabled`的值,从而判断日志记录是否启用及存储方式(关闭、存储或文件系统)。示例代码详细展示了实现步骤,并附有执行结果与官方文档参考链接,帮助开发者快速定位和解决问题。
238 22
|
监控 数据挖掘 数据安全/隐私保护
Python脚本:自动化下载视频的日志记录
Python脚本:自动化下载视频的日志记录
|
运维 Java Linux
【运维基础知识】Linux服务器下手写启停Java程序脚本start.sh stop.sh及详细说明
### 启动Java程序脚本 `start.sh` 此脚本用于启动一个Java程序,设置JVM字符集为GBK,最大堆内存为3000M,并将程序的日志输出到`output.log`文件中,同时在后台运行。 ### 停止Java程序脚本 `stop.sh` 此脚本用于停止指定名称的服务(如`QuoteServer`),通过查找并终止该服务的Java进程,输出操作结果以确认是否成功。
830 1
|
存储 数据采集 分布式计算
Hadoop-17 Flume 介绍与环境配置 实机云服务器测试 分布式日志信息收集 海量数据 实时采集引擎 Source Channel Sink 串行复制负载均衡
Hadoop-17 Flume 介绍与环境配置 实机云服务器测试 分布式日志信息收集 海量数据 实时采集引擎 Source Channel Sink 串行复制负载均衡
241 1
|
2月前
|
弹性计算 运维 安全
阿里云轻量应用服务器与云服务器ECS啥区别?新手帮助教程
阿里云轻量应用服务器适合个人开发者搭建博客、测试环境等低流量场景,操作简单、成本低;ECS适用于企业级高负载业务,功能强大、灵活可扩展。二者在性能、网络、镜像及运维管理上差异显著,用户应根据实际需求选择。
226 10
|
2月前
|
运维 安全 Ubuntu
阿里云渠道商:服务器操作系统怎么选?
阿里云提供丰富操作系统镜像,涵盖Windows与主流Linux发行版。选型需综合技术兼容性、运维成本、安全稳定等因素。推荐Alibaba Cloud Linux、Ubuntu等用于Web与容器场景,Windows Server支撑.NET应用。建议优先选用LTS版本并进行测试验证,通过标准化镜像管理提升部署效率与一致性。

热门文章

最新文章