Hi Friends,
Topic: How to delete Oracle Hyperion backup folders older than N months/days
Maintaining a backup of various applications is an important part of any Oracle Hyperion Production system. In most of the cases, we have a network drive connected and accessible from all the servers of a Hyperion Production environment where we save the backup of Hyperion application data, metadata, artifacts, LCM exports, etc. either manually or through automated scripts like Lifecycle Management (LCM) automation, FDMEE data load jobs, Maxl scripts, etc. on a daily or weekly basis.
HYP_PROD_YYYYMMDDhhmm
Note: To learn how you can add current date and time in your backup folders' name, kindly refer this link: Batch script to add today's date and time in file/folder name
2- The script maps the network drive path as a local drive on the server from where we trigger this script.
3- It identifies the date 4 months (120 days) before today’s date.
4- It lists out all the LCM backup folders with the name HYP_PROD_* having the oldest date folder first and compares the date of each folder with the date 4 months before the current date.
5- If the folder date is less than the date 4 months before the current date, it passes that folder name to ROBOCOPY purge command section as an input to delete that folder.
Note: ROBOCOPY purge command is used to troubleshoot ‘Source Path Too Long’ error while deleting the folder.
6- This loop continues until all the folders older than 4 months (120 days) are deleted.
7- The script saves the names of the deleted folders in a log file for your record: D:\Data\Scripts\NETWORK_HOUSEKEEPER\Deleted_Folder.log
Topic: How to delete Oracle Hyperion backup folders older than N months/days
Maintaining a backup of various applications is an important part of any Oracle Hyperion Production system. In most of the cases, we have a network drive connected and accessible from all the servers of a Hyperion Production environment where we save the backup of Hyperion application data, metadata, artifacts, LCM exports, etc. either manually or through automated scripts like Lifecycle Management (LCM) automation, FDMEE data load jobs, Maxl scripts, etc. on a daily or weekly basis.
Over the course of time, your network drive is filled with past many months’ backup
folders consuming a lot of space and thus causing a requirement for network drive housekeeping. In most of the cases, maintaining last
3-6 months application backup folders actually serve the purpose.
We too faced the similar case where we had many Hyperion application
LCM backup folders over a network shared drive starting from the year 2017, which were consuming a huge amount of space raising critical space alerts. To housekeep the network drive when we tried to delete
some of these LCM backup folders manually, we encountered the notorious ‘Source
Path Too Long’ error to make matters worse.
Therefore, to fix this issue permanently, we have created a batch script called “Network_Housekeeper” which works perfectly fine and is based on the following logic:
1- We have a LCM automated scheduled
job which adds two huge sized LCM backup folders every day to the network drive
path: \\NetworkServerAddress\HyperionBackupFolder\AutomatedLCMExport with the following folder naming convention:
HYP_PROD_YYYYMMDDhhmm
Note: To learn how you can add current date and time in your backup folders' name, kindly refer this link: Batch script to add today's date and time in file/folder name
2- The script maps the network drive path as a local drive on the server from where we trigger this script.
3- It identifies the date 4 months (120 days) before today’s date.
4- It lists out all the LCM backup folders with the name HYP_PROD_* having the oldest date folder first and compares the date of each folder with the date 4 months before the current date.
5- If the folder date is less than the date 4 months before the current date, it passes that folder name to ROBOCOPY purge command section as an input to delete that folder.
Note: ROBOCOPY purge command is used to troubleshoot ‘Source Path Too Long’ error while deleting the folder.
6- This loop continues until all the folders older than 4 months (120 days) are deleted.
7- The script saves the names of the deleted folders in a log file for your record: D:\Data\Scripts\NETWORK_HOUSEKEEPER\Deleted_Folder.log
Network_Housekeeper Batch Script:
@echo off
REM Connect to the network drive path
pushd \\NetworkServerAddress\HyperionBackupFolder\AutomatedLCMExport
REM Set the number of days to retain the folders for. You need to change the day=-120 to the relevant number of days you want.
set day=-120
echo >"%temp%\%~n0.vbs" s=DateAdd("d",%day%,now) : d=weekday(s)
echo>>"%temp%\%~n0.vbs" WScript.Echo year(s)^& right(100+month(s),2)^& right(100+day(s),2)
for /f %%a in ('cscript /nologo "%temp%\%~n0.vbs"') do set "result=%%a"
del "%temp%\*%~n0.vbs"
set "yyyy=%result:~0,4%"
set "mm=%result:~4,2%"
set "dd=%result:~6,2%"
set "final=%yyyy%%mm%%dd%"
setlocal enabledelayedexpansion
REM List out all the folders with name HYP_PROD_* having the oldest folder first and then extract the date from each folder name
for /f "delims=" %%a in ('dir "HYP_PROD_*" /a:d /o:d /b') do (
set "folder=%%a"
set folddate=!folder:~9,8!
REM If folder date is less than the date 4 months before the current date, trigger the 'work' section of the script
if !folddate! LSS !final! call :work
)
goto :EOF
REM Delete the folder using ROBOCOPY command route
:work
echo !folder! >> D:\Data\Scripts\NETWORK_HOUSEKEEPER\Deleted_Folder.log
rmdir emptyfolder
mkdir emptyfolder
robocopy emptyfolder "!folder!" /purge
rmdir !folder!
rmdir emptyfolder
You can schedule this batch script through Windows Task
Scheduler to run at any time of the day. I have tested this script on my system and it takes
80 seconds to delete a 2 GB LCM backup folder. That is quite ok!
That's all for this post.
I hope this article has helped you.
Your suggestions/feedback are most welcome.
Keep learning and Have a great day!!!