Batch file, script, file rotate on size

Hi experts,

Looking for your kind assistance and help.

I have server application it generate continues log always.
I have schedule running everyday the file will be moved to the new location.
But the file size is around 200mb in day...it is very difficult to manage the storage.
I am looking for help..how to zip compress the file in same name by batch file so that it  will do automatically.


@echo off
set datetime=%date:~-4%_%date:~-7,2%_%date:~-10,2%_%time:~0,2%_%time:~3,2%_%time:~6,2%
echo %datetime%
move "D:\Program\rsa\key\log\*.audit" "D:\Program\Backup\to HP\AUDIT_TEXT_Files\PRI_RSA_Audit_Text_File_%datetime%.audit
Skumar_CCSAAsked:
Who is Participating?

Improve company productivity with a Business Account.Sign Up

x
 
Bill PrewConnect With a Mentor Commented:
Here is a script that does what you describe.  It requires 7-ZIP which can be downloaded from:

http://www.7-zip.org/

@echo off

REM Specify folders and files to operate on
set BaseDir=D:\Program\rsa\key\log
set DestDir=D:\Program\Backup\to HP\AUDIT_TEXT_Files
set ExtFilter=audit
set ZipFilter=gz
set Zip=c:\program files\7-zip\7za.exe

REM Current date time in YYYY_MM_DD_hh_mm_ss format for timestamp on moved files
set datetime=%date:~-4%_%date:~-7,2%_%date:~-10,2%_%time:~0,2%_%time:~3,2%_%time:~6,2%
echo %datetime%

REM Move all matching files to destination folder renaming with date/time stamp
"%Zip%" a -tgzip "%DestDir%\PRI_RSA_Audit_Text_File_%datetime%.%ZipFilter%" "%BaseDir%\*.%ExtFilter%"
del "%BaseDir%\*.%ExtFilter%" /y

REM Only keep 30 newest files in destination folder
for /F "tokens=* skip=30" %%A in ('dir /b /a-d /tc /o-d "%DestDir%\*.%ZipFilter%"') do del "%DestDir%\%%~A"

Open in new window

~bp
0
 
skullnobrainsCommented:
you may want to look into logrotate equivalents for windows

logrotate native reimplementation
http://sourceforge.net/projects/logrotatewin/

python implementation
http://sourceforge.net/directory/security-utilities/logging/log-rotation/os:linux/freshness:recently-updated/

bundled cygwiin ddls and original logrotate program
https://www.itefix.no/i2/logwot8
0
 
Skumar_CCSAAuthor Commented:
i have checked in another server, it automatically compressed..
the format is .gz
i think it happens without instaling any zip software.
can you please help.
0
Keep up with what's happening at Experts Exchange!

Sign up to receive Decoded, a new monthly digest with product updates, feature release info, continuing education opportunities, and more.

 
skullnobrainsCommented:
beginnig with XP, window comes bundled with the possibility to read and write zip files trough the explorer, so the zip dll has to be available to programs wether a zip soft is installed or not

it is fairly possible that your server directly writes compressed logs. if you have no uncompressed logs at all, it is sure to be the case

in your case, since the extension is gzip, it is more likely that your server comes bundled with gzip and is able to take care of compression itself. wether it writes compressed logs or takes care of compression + rotation from time to time is a matter of what software that is and how it is configured

the feature is very common in servers targetted for the window platform (and that do not use the event log) precisely because windows does not have a logrotate program.
0
 
Skumar_CCSAAuthor Commented:
my server is win 2008 r2
0
 
Bill PrewCommented:
What software is generating those compressed log files, my guess would be that it incorporates the capability within it.  I don't believe there is any native Windows capability to generate gzip files.

~bp
0
 
Skumar_CCSAAuthor Commented:
Software : VASCO , Identikey Authentication Server....runs with PostgreSQL
0
 
Bill PrewCommented:
Okay, not familiar with that, and could find anything quickly on their website about compressing log files, so not sure if it produces the gzip files you are seeing on another server, or if a utility is being used there.

~bp
0
 
Skumar_CCSAAuthor Commented:
Yes actually i have the option for those log file to archive and compress.
But for audit file ..I did not have that option in the software.
0
 
Bill PrewCommented:
Ah, okay, so in that case the software has built in support for generating some files in gzip format, but you will have to do the audit file yourself, using something like 7ZIP.

~bp
0
 
Skumar_CCSAAuthor Commented:
Yes...correct.
I am able to unzip those file using 7zip...
Also like to check with you....is it possible to do zip in regular way as we have in built compress function in windows OS...I seen when I compress the file..the size become 20mb from 200mb.
0
 
Bill PrewCommented:
What are you referring to by "in built compress function in windows"?

~bp
0
 
Skumar_CCSAAuthor Commented:
compressed ("zipped") folder feature in widows
0
 
Bill PrewCommented:
What is the command you use at a windows command line for that?

~bp
0
 
Skumar_CCSAAuthor Commented:
I see the command in this link...
I already tried to do...but did not help...
thought of posting for experts help...
thanks to help..
http://technet.microsoft.com/en-us/library/bb490884.aspx
0
 
Skumar_CCSAAuthor Commented:
Like to check is it possible ?
Batch file will run everyday or one in 4 hours. ( batch/ script file though task scheduler)
When the log.audit file exceeds more then 500MB, it should start renaming the file and zip the file.
keep latest 30 files.

Source  - D:\abc\log.audit
Destination File : D:\Auth_Audit_currentdateandtime.zip

Zip to be used windows feature....as I have restriction that no software's installed.

thanks to help...
0
 
Skumar_CCSAAuthor Commented:
It worked greatly in my testing server having the software installed.
but i dont have permissions to install the software.
however the solution given...it helped me.
0
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

All Courses

From novice to tech pro — start learning today.