This script will check the folder that you specify, and any files older than the first day of the previous month will be compressed into a zip file. If you specify an archive path as well the zip file will be moved to that location.
The recommended use for this script is a once-monthly scheduled task run on the first day of each month. This will compress all files older than the first day of the previous month, resulting in only 1-2 months of log files being stored on the server.
If the script detects any issues with the archive process that may indicate that a file was missed it will not delete the log files from the folder.
The script also writes a log file each time it is run so you can check the results or troubleshoot any issues.
- -Logpath, The IIS log directory to cleanup.
- -ArchivePath, The path to a location where zip files are moved to, for example a central log repository stored on a NAS.
.\IISLogsCleanup.ps1 -Logpath "D:\IIS Logs\W3SVC1"
This example will compress the log files in "D:\IIS Logs\W3SVC1" and leave the zip files in that location.
.\IISLogsCleanup.ps1 -Logpath "D:\IIS Logs\W3SVC1" -ArchivePath "\\nas01\archives\iislogs"
This example will compress the log files in "D:\IIS Logs\W3SVC1" and move the zip files to the archive path.
You can find more information about this script at: http://exchangeserverpro.com/powershell-script-iis-logs-cleanup
Written by: Paul Cunningham
Find me on:
- My Blog: https://paulcunningham.me
- Twitter: https://twitter.com/paulcunningham
- LinkedIn: https://au.linkedin.com/in/cunninghamp/
- Github: https://github.com/cunninghamp
Check out my books and courses to learn more about Office 365 and Exchange Server.
Additional Credits:
- Filip Kasaj - http://ficility.net/2013/02/25/ps-2-0-remove-and-compress-iis-logs-automatically/
- Rob Pettigrew - regional date issues
- Alain Arnould - Zip file locking issues