Script para borrar archivos de logs antiguos en Windows Server

Zuljin

Fundador
Miembro del Equipo
Fundador
ADMIN
Se incorporó
15 Enero 2004
Mensajes
11.872
Tengo un servidor con Windows Server 2012 que tiene instalada una base de datos Postgres para mantener una aplicación propietaria. La aplicación tiene purgado y todo el cuento y postgres también, pero los archivos de logs propios de postgres, esos que se guardan en la carpeta pg_log, ahí están desde hace meeeeses.

Yo en linux manejo scripts para borrar archivos con ciertos días de antigüedad. ¿Alguien tiene un script o un link que me pueda facilitar para hacer la misma brujería de borrar periódicamente archivos de x días de antigüedad almacenados en una carpeta determinada?

Estoy googleando pero si alguno de ustedes tiene un script o un link se lo agradecería.
 
Solution
Encontré esto, no se si te servirá de referencia

@ECHO off

cd Z:\SCAN
del /f /q /S *.*
pause

Con esto borraras todos lo archivos que esten dentro de esa carpeta cada vez que ejecutes el bat.

O puedes crear un bat con los siguientes comandos para borrar archivos de dias especificos:

@ECHO off
Forfiles /p "Z:\SCAN" /s /m *.* -d -1 /c "cmd /c del /q @path"
pause

el "-1" es el punto dereferencia para borrar archivos , ejemplo si tu ejecutas el bat hoy 15/02/2017

borrara todos los archivos que esten dentro de la carpeta indicada y que se hayan creado el dia 14/02/2017

y asi le puedes poner mas dias atras.

Si te sirve, lo configuras en una Tarea Programada

NSonic

* Mako-Chan *
Se incorporó
23 Abril 2007
Mensajes
789
Encontré esto, no se si te servirá de referencia

@ECHO off

cd Z:\SCAN
del /f /q /S *.*
pause

Con esto borraras todos lo archivos que esten dentro de esa carpeta cada vez que ejecutes el bat.

O puedes crear un bat con los siguientes comandos para borrar archivos de dias especificos:

@ECHO off
Forfiles /p "Z:\SCAN" /s /m *.* -d -1 /c "cmd /c del /q @path"
pause

el "-1" es el punto dereferencia para borrar archivos , ejemplo si tu ejecutas el bat hoy 15/02/2017

borrara todos los archivos que esten dentro de la carpeta indicada y que se hayan creado el dia 14/02/2017

y asi le puedes poner mas dias atras.

Si te sirve, lo configuras en una Tarea Programada
 
Upvote 0
Solution

Zuljin

Fundador
Miembro del Equipo
Fundador
ADMIN
Se incorporó
15 Enero 2004
Mensajes
11.872
Encontré esto, no se si te servirá de referencia

@ECHO off

cd Z:\SCAN
del /f /q /S *.*
pause

Con esto borraras todos lo archivos que esten dentro de esa carpeta cada vez que ejecutes el bat.

O puedes crear un bat con los siguientes comandos para borrar archivos de dias especificos:

@ECHO off
Forfiles /p "Z:\SCAN" /s /m *.* -d -1 /c "cmd /c del /q @path"
pause

el "-1" es el punto dereferencia para borrar archivos , ejemplo si tu ejecutas el bat hoy 15/02/2017

borrara todos los archivos que esten dentro de la carpeta indicada y que se hayan creado el dia 14/02/2017

y asi le puedes poner mas dias atras.

Si te sirve, lo configuras en una Tarea Programada

Guena , justo encontré algo parecido.



Puta, no se si me linuxié o qué pero encuentro un soberano cacho crear trabajos programados en Windows.
 
Upvote 0

NSonic

* Mako-Chan *
Se incorporó
23 Abril 2007
Mensajes
789
Lo que si, asegúrate de marcar la opción de "Ejecutar con los privilegios mas altos"

tarea.jpg
 
Upvote 0
Subir