我正在尝试创建一个根据日期(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
答案 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