January 4, 2021
Estimated Post Reading Time ~

AEM Log Rotation Powershell

Following is the PowerShell script to rotate logs depending on the retention policy.

[code lang=powershell]
$DAYS_TO_DELETE=”-2″
$CurrentDate = Get-Date
$TIMESTAMP=$(get-date -f yyyy_MM_dd_hhmmss)
$DatetoDelete = $CurrentDate.AddDays($DAYS_TO_DELETE)
$LOGPATH=”C:\Users\SKYDEVOPS\Desktop\logs”
$BACKUP_PATH=”C:\Users\SKYDEVOPS\Desktop\backups\”
$ARCHIVEPATH=”${BACKUP_PATH}archive_$TIMESTAMP”;

if ((Test-Path -path $BACKUP_PATH)) {
mkdir $ARCHIVEPATH > $null
}
else {
Write-Output “Backup Directory Not Found”
}

if ((Test-Path -path $LOGPATH)) {
echo ” ”
Write-Output “AEM logs Found, compressing and rotating logs”
}
else {
echo ” ”
Write-Output “AEM logs not found, Exiting”
Exit
}

# Moving logs to the archive directory
Get-ChildItem -Path $LOGPATH -Exclude “upgrade.log”, “startup.log”, “request.log”, “error.log”, “history.log”, “access.log”, “audit*.log” | Where-Object { $_.LastWriteTime -lt $DatetoDelete } | Move-Item -Destination “$ARCHIVEPATH”

# Compressing
compress-archive -Path $ARCHIVEPATH -CompressionLevel optimal -DestinationPath “${BACKUP_PATH}archive_$TIMESTAMP.zip”
Remove-Item -Path $ARCHIVEPATH -Recurse
[/code]


By aem4beginner

No comments:

Post a Comment

If you have any doubts or questions, please let us know.