El mejor script para mantener ficheros de logs. Comprime y deja ficheros a partir de cierta antigüedad.

Hola amig@s,

Aquí les dejo el script que mejor me ha funcionado para el mantenimiento de logs. Está programado para usarse en Windows 2012 o superior. También puede llegar a funcionar en Windows 7 y 10.

@echo off
cls
rem Script que permite comprimir el contenido de una carpeta, asi mismo dejará ficheros sin comprimir
rem a partir de un numero de días definido. Es decir, si tenemos una carpeta con ficheros de muchos meses
rem y queremos dejar solo los ficheros de losúltimos 40, el resto se comprimirá y se eliminará. Dejando
rem solo el fichero zip y los ficheros con una antiguedad menor a 40 dias.

rem Parametros de entrada: rutadondecrearzip nombredelficherozip directorioacomprimir mascara -diasdemargen
rem hay que definir los directorios con la \ al final!!!!
rem ejemplo: MANTIENEFICHEROS.CMD C:\TEMP FICHERO.ZIP C:\temp\DATOS\LOG *.LOG -40

rem Copyright 2019 Eduardo Arana

setlocal EnableExtensions DisableDelayedExpansion

rem // Variables:
set "_DONDEZIP=%1" rem ruta donde se deja el zip
set "_NOMBREZIP=%2" rem nombredelficherozip
set "_RAIZ=%3" rem ruta directorioacomprimir
set "_PATRON=%4" rem patron de busqueda
set "_DIASDEMARGEN=%5" rem dias a dejar de margen

rem // Obtener la fecha en formato local:
for /F "tokens=2 delims==" %%D in ('wmic OS get LocalDateTime /VALUE') do set "TDATE=%%D"
set "TDATE=%TDATE:~,8%"

rem comprime
forfiles /p %_RAIZ% /m %_PATRON% /d %_DIASDEMARGEN% /s /c "cmd /c zip -u -j %_DONDEZIP%\%_NOMBREZIP%_%TDATE% %_RAIZ%\%_PATRON% & cmd /c del @path" 

endlocal
exit /B
Share on Google Plus
    Blogger Comment

0 comentarios: