需要导出IIS日志& Tomcat在Windows 2008 R2上以压缩文件的形式记录日

时间:2016-04-05 19:51:59

标签: java powershell batch-file tomcat iis

我正在尝试创建一个根据日期(Tomcat日志的一天和IIS日志的一天)压缩文件的脚本,然后将相应的zip文件移动到共享。

我曾尝试使用多个PowerShell脚本和批处理文件(.cmd)来完成此操作,但都无济于事。

我还尝试使用http://exchangeserverpro.com/powershell-script-iis-logs-cleanup,但无法让它每天都能使用。

有人可以帮忙吗?我得到了以下工作,但似乎无法弄清楚如何在删除文件之前导出文件

$purge = (Get-Date).AddDays(-1)
$path = "D:\Tomcat\apache-tomcat-7.0.39\logs"

# Delete files older than the $purge.
Get-ChildItem -Path $path -Recurse -Force | Where-Object { !$_.PSIsContainer -and $_.CreationTime -lt $purge } | Remove-Item -Force

2 个答案:

答案 0 :(得分:1)

您已经有一个脚本可以根据CreatonTime检索日志文件。现在,您需要Zip the files并使用Move-Item cmdlet将它们移动到共享(您无需复制它们,因为您还是要删除它们)。

答案 1 :(得分:0)

首先,看看如何使用Powershell进行压缩:

How to create a zip archive with PowerShell?

...
$FilesToPurge = Get-ChildItem -Path $path -Recurse -Force | Where-Object { !$_.PSIsContainer -and $_.CreationTime -lt $purge }

将文件添加到ZIP:

$FilesToPurge | Write-Zip \\Server\Share\Archive.zip # or any other function.

删除项目:

$FilesToPurge | Remove-Item