April 22, 2020
Estimated Post Reading Time ~

How to automate the Offline compaction process in AEM 6.2

Statement: Automate the offline compaction process.

Solution:
  • Offline compaction is still applicable for AEM 6.2 but AEM 6.3 is not required because it supports online compaction.
  • Below is the steps involved in the automation and script which is used automates entire process.
Steps involved in the Offline compaction Automation:
  • Shutdown AEM Server
  • Use Matching Oak jar version to find Old Checkpoints
  • Use Matching Oak jar version to Remove Unreferenced Checkpoints
  • Use Matching Oak jar version to Compact Oak
  • Restart AEM
SCRIPT:
#!/bin/bash
todayDate="$(date +'%d-%m-%Y')"
logfile="compact-$ todayDate.log"
installfolder="/data/aem"
aemfolder="$installfolder/crx-quickstart"
oakrun="$installfolder/help/oak-run-1.6.1.jar"

## Shutdown AEM
printf "Shutting down AEM.\n"
$aemfolder/bin/stop
todayDate ="$(date)"
echo "AEM Shutdown at: $ todayDate " >> $installfolder/help/logs/$logfile

## Find old checkpoints
printf "Finding old checkpoints.\n"
java -Dtar.memoryMapped=true -Xms8g -Xmx8g -jar $oakrun checkpoints $aemfolder/repository/segmentstore >> $installfolder/help/logs/$logfile

## Delete unreferenced checkpoints
printf "Deleting unreferenced checkpoints.\n"
java -Dtar.memoryMapped=true -Xms8g -Xmx8g -jar $oakrun checkpoints $aemfolder/repository/segmentstore rm-unreferenced >> $installfolder/help/logs/$logfile

## Run compaction
printf "Running compaction. This may take a while.\n"
java -Dtar.memoryMapped=true -Xms8g -Xmx8g -jar $oakrun compact $aemfolder/repository/segmentstore >> $installfolder/help/logs/$logfile

## Report Completed
printf "Compaction complete. Please check the log at:\n"
printf "$installfolder/help/logs/$logfile\n"

## Start AEM back up
todayDate ="$(date)"
printf "Starting up AEM.\n"
$aemfolder/bin/start
echo "AEM Startup at: $ todayDate " >> $installfolder/help/logs/$logfile


Reference: https://jackrabbit.apache.org/oak/docs/command_line.html


By aem4beginner

No comments:

Post a Comment

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