原文:http://www.iis.net/learn/manage/provisioning-and-managing-iis/managing-iis-log-file-storage

Overview

IIS日志会消耗大量的硬盘空间,有潜在写满整个硬盘空间的风险. 为了解决这个问题很多用户会选择关闭日志.幸运的是 这里有些其它的选择:

你可以根据下面的方案控制硬盘的使用率:

  • 通过减少不必要的字段减少日志大小
  • 根据网站和应用程序创建独立的日志
  • Preserve memory resources by using centralized binary logging.

更多请见 Configuring Logging in IIS.

压缩日志文件夹

IIS日志文件压缩原始大小的2%. 通过下面的方法压缩日志文件夹. 执行下面的步骤前请确保你拥有管理员权限.

  1. 点击文件资源管理器.
  2. 进入到IIS日志文件夹 (默认是, %SystemDrive%\inetpub\logs\LogFiles).
  3. 右键日志文件夹选择属性.
  4. 在属性的常规标签点击高级.
  5. 选中压缩内容以便节省磁盘空间,然后点击确定.
  6. 点击应用Click Apply,选择压缩所有子文件夹和文件.
  7. 点击确定. 如果文件夹的文件名变成蓝色了那么你的操作成功了.

这是个减少日志占用硬盘空间的简单方法, 不是最终的解决方案. 然后以为日志文件一天天的增涨最后还是会沾满硬盘空间.

如果日志文件夹下有大量的日志,压缩日志文件夹的过程可能会稍长一些,建议在网站服务器的非高峰期压缩日志文件夹.

将日志文件夹移到远程系统上去

IIS日志文件默认存储在IIS服务器的 %SystemDrive%\inetpub\logs\LogFiles  下面.你可以把IIS日志文件夹移去一个有更多硬盘空间的服务器上面去.

将IIS日志文件夹设为远程服务器的方法步骤如下:

  1. 在远程服务器上创建一个文件夹作为日志文件夹.
  2. 右键这个文件夹选择属性, 在共享标签下点击共享. 在安全标签下, 分配相应的权限. 确保合适的组或用户名有读写日志文件的权限.

    更多请见 Configuring Permissions for Remote Logging.

    Note: 如果你像将日志文件写到一个不同domain的远程服务器上请看看这篇文章 Setting Up a Null Session for Cross-Domain Logging.

  3. 打开IIS管理器.
  4. 点击服务器或者某个网站.
  5. 双击日志图标.
  6. 在目录的文本框内输入1中创建的远程共享的日志文件的路径. 例如 输入 \\servername\Logs
  7. 在右边的操作面板点击应用并且确认.

    更多请见 Remote Logging.

使用脚本删除老的日志

你可以运行脚本自动删除老日志.

下面的 VBScript 会坚持日志的日期 删除老的日志 下面的脚本删除30天以前的日志

sLogFolder = "c:\inetpub\logs\LogFiles"
iMaxAge = 30 'in days
Set objFSO = CreateObject("Scripting.FileSystemObject")
set colFolder = objFSO.GetFolder(sLogFolder)
For Each colSubfolder in colFolder.SubFolders
Set objFolder = objFSO.GetFolder(colSubfolder.Path)
Set colFiles = objFolder.Files
For Each objFile in colFiles
iFileAge = now-objFile.DateCreated
if iFileAge > (iMaxAge+1) then
objFSO.deletefile objFile, True
end if
Next
Next

上面的脚本会扫描所有的子文件夹, 所以他会处理所有网站的日志. 如果你想限制只扫描一个网站的话修改第一行的路径就可以了.

通过下面的命令行手动运行脚本:

cscript.exe c:\scripts\retentionscript.vbs

在任务计划程序里面自动调用上面的脚本定时清除老日志

你可以创建一个windows任务自动调用上面的脚本定时清除老日志, 方法步骤如下.

    1. 打开任务计划程序.
    2. 在操作面板中点击创建任务.
    3. 在常规tab中的名字中输入任务名字,如 "Delete Log Files". 在安全选项中选择有权限的合适的用户来运行这个任务脚本.
    4. 在触发器tab中点击新建.  非常简单按照下面的图片来设置就行了.
    5. 点击操作Tab, 点击新建. 在操作中选择启动程序. 在程序或脚本中输入cscript, 在添加参数中 输入上面脚本的路径和文件名, 例如, "C:\iis\Log_File_Deletion.vbs".
    6. 点击确定.
    7. 验证任务是否被添加到了任务计划程序库中.
    8. 右键这个新任务点击运行.
    9. 回到日志文件夹下面 看看对应的日志是不是被删除了了.

使用IIS Log Cleaner Tool删除老日志

在这http://www.erezbenari.com/IISLogCleaner.exe 下载这个工具 这个不是微软官方的工具

[译]管理IIS日志的存储的更多相关文章

  1. IIS日志文件清理

    如何清除IIS日志以释放空间 打开“我的电脑”发现10GB容量的C盘只剩余355MB“可用空间”,已经严重不够用.如下图: 如果服务器的管理员并没有在C盘存储大容量文件,而IIS中站点的访问量又非常大 ...

  2. IIS日志-网站运维的好帮手

    对于一个需要长期维护的网站来说,如何让网站长久稳定运行是件很有意义的事情. 有些在开发阶段没有暴露的问题很有可能就在运维阶段出现了,这也是很正常的. 还有些时候,我们希望不断地优化网站,让网站更快速的 ...

  3. iis日志查看

    IIS日志是每个服务器管理者都必须学会查看的,服务器的一些状况和访问IP的来源都会记录在IIS日志中,所以IIS日志对每个服务器管理者非常的重要,seoer也不例外,这点同时也可方便网站管理人员查看网 ...

  4. 一个强大的LogParser的UI工具--logparserlizard简介(开源IIS日志分析工具)

    原文地址:http://blog.csdn.net/downmoon/article/details/4509513 日志分析,特别是IIS日志,一般人都会想到LogParser工具,的确很强.但是命 ...

  5. IIS日志路径,修改存放位置,清除日志方法

    IIS存放日志文件的默认存储路径是c:\windows\system32\logfiles 我们依次打开“我的电脑”,C盘,Windows文件夹,system32文件夹,logfiles文件夹,发现里 ...

  6. 网站运维工具使用iis日志分析工具分析iis日志(iis日志的配置)

    我们只能通过各种系统日志来分析网站的运行状况,对于部署在IIS上的网站来说,IIS日志提供了最有价值的信息,我们可以通过它来分析网站的响应情况,来判断网站是否有性能问题,或者存在哪些需要改进的地方 对 ...

  7. 【Android应用开发】 Android 崩溃日志 本地存储 与 远程保存

    示例代码下载 : http://download.csdn.net/detail/han1202012/8638801; 一. 崩溃日志本地存储 1. 保存原理解析 崩溃信息本地保存步骤 : -- 1 ...

  8. 转 -Filebeat + Redis 管理 LOG日志实践

    Filebeat + Redis 管理 LOG日志实践 小赵营 关注 2019.01.06 17:52* 字数 1648 阅读 24评论 0喜欢 2 引用 转载 请注明出处 某早上,领导怒吼声远远传来 ...

  9. IIS日志存入数据库之一:ODBC

    园内@Fish Li的文章<IIS日志-网站运维的好帮手>中介绍将IIS的文本格式的文件导入数据库的方法.在实践中,我们发现导数据的速度很慢,一个200M的日志文件居然要近100分钟.我们 ...

随机推荐

  1. Jenkins/CCNET发送邮件策略和注意事项,以及邮箱类型的选择

    QQ邮箱永远也不要用,原因:安全机制太强导致在CCNET/Jenkins中极难配置,且反垃圾太强,有些项目会涉及到敏感词一样屏蔽,如果发邮件找客服求助时,基本是无果. 如果在免费领域,推荐使用免费企业 ...

  2. AutoIt3(AU3)开发的分辨率快速设置工具

    项目相关地址 源码:https://github.com/easonjim/Resolution_Settings bug提交:https://github.com/easonjim/Resoluti ...

  3. RabbitMQ Queue分发多个Consumer

    多个Consumer的消息分发 之前讲过一个queue对应一个consumer的小例子, 但是在实际项目中,一个consumer肯定是不够的,queue中的消息过多.一个consumer明显会处理过慢 ...

  4. Spring表单参数绑定中对“is”开头的boolean类型字段的的处理

    之前在新浪微博上面发了一个微薄: 弱弱的发现在定义boolean类型的时候最好不要使用“is”开头,可以避免一些问题哦 然后有一些朋友朋友问我为什么,当时比较忙,现在写篇文章举一个例子,回复一下这个问 ...

  5. MyBatis详解 与配置MyBatis+Spring+MySql

    MyBatis 是一个可以自定义SQL.存储过程和高级映射的持久层框架.MyBatis 摒除了大部分的JDBC代码.手工设置参数和结果集重获.MyBatis 只使用简单的XML 和注解来配置和映射基本 ...

  6. OC冒泡排序

    NSMutableArray *p = [[NSMutableArray alloc] initWithObjects:@"3",@"5",@"4&q ...

  7. css3之自定义字体

    使用@font-face自定义字体 我们在浏览国外的一些个人网站时,总是可以发现一些非常个性的字体,比如

  8. 【转】七种常见阈值分割代码(Otsu、最大熵、迭代法、自适应阀值、手动、迭代法、基本全局阈值法)

    http://blog.csdn.net/xw20084898/article/details/17564957 一.工具:VC+OpenCV 二.语言:C++ 三.原理 otsu法(最大类间方差法, ...

  9. Runner站立会议01

    开会时间:9.10-9.30 地点:二教 今天做了什么:学了文本输入,button按钮,界面转换(意图) 遇到什么困难:界面转换时,出现问题,没有正常跳转 明天打所作什么:解决今天遇到的问题,学了第二 ...

  10. Android学习笔记——ProgressBarHandler

    该工程的功能是实现点击按钮进度条按10%递增,使用的方式是Handler 以下的代码是MainActivity.java中的代码 package com.example.progressbarhand ...