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
Who is Participating?

x
I wear a lot of hats...

"The solutions and answers provided on Experts Exchange have been extremely helpful to me over the last few years. I wear a lot of hats - Developer, Database Administrator, Help Desk, etc., so I know a lot of things but not a lot about one thing. Experts Exchange gives me answers from people who do know a lot about one thing, in a easy to use platform." -Todd S.

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"

~bp
0

Experts Exchange Solution brought to you by

Facing a tech roadblock? Get the help and guidance you need from experienced professionals who care. Ask your question anytime, anywhere, with no hassle.

Commented:
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
Author Commented:
i have checked in another server, it automatically compressed..
the format is .gz
i think it happens without instaling any zip software.
0
Commented:
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
Author Commented:
my server is win 2008 r2
0
Commented:
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
Author Commented:
Software : VASCO , Identikey Authentication Server....runs with PostgreSQL
0
Commented:
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
Author 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
Commented:
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
Author 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
Commented:
What are you referring to by "in built compress function in windows"?

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

~bp
0
Author 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
Author 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
Author 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
It's more than this solution.Get answers and train to solve all your tech problems - anytime, anywhere.Try it for free Edge Out The Competitionfor your dream job with proven skills and certifications.Get started today Stand Outas the employee with proven skills.Start learning today for free Move Your Career Forwardwith certification training in the latest technologies.Start your trial today
Scripting Languages

From novice to tech pro — start learning today.