Como crear un plan de copias de seguridad usando robocopy y forfiles

Plataforma: Windows
Objetivo
Configurar un .bat que copie backups SQL que se guardan en local en un máquina y copiarlos en una unidad de red. Se quieren guardar los últimos 8 backups, pero en local sólo caben 3.

Prerrequisitos
Carpeta origen: C:\BackupSQL\
Carpeta destino: \\192.168.1.10\Servidor\Copias\
En la máquina en local sólo se guardan los 3 últimos backups
En la unidad de red queremos tener los últimos 8 backups

Continue reading


Eliminar archivos en función de la extension en Windows

Aplicable en:
· Windows Server 2008
· Windows Server 2008 R2
· Windows Server 2012
· Windows Server 2012 R2


EL comando forfiles de Windows nos permite hacer una búsqueda en función de la extensión de los archivos y luego eliminarlos.

Por ejemplo, queremos eliminar todos los archivos con extensión .tmp de la carpeta c:\Windows\temp\
Primero listamos todos los archivos para comprobar que realmente la búsqueda es correcta antes de eliminar los documentos:

> forfiles /p "C:\Carpeta" /m *.tmp /C "cmd /c echo @file"



Si la búsqueda es correcta añadimos & Del @file para eliminarlos

> forfiles /p "C:\Carpeta" /m *.tmp /C "cmd /c echo @file & Del @file"



Parámetros:
· /p especifica la ruta donde se va a iniciar la búsqueda. Por defecto empieza en el directorio de trabajo actual.
· /m especifica el tipo de archivos. Si no se especifica busca cualquier tipo(*.*).
· /c para ejecutar comandos




Si el post te ha ayudado a salir de un marrón, te ha servido pá lo que sea o simplemente te ha gustado y quieres colaborar puedes pinchar en los anuncios ;)


Comando Windows Forfiles, ejemplos varios

Eliminar un archivo en concreto si tiene más de x días de antiguedad, en el ejemplo más de 10:

> forfiles /m test.txt /c "cmd /c Del test.txt " /d -10


Eliminar archivos de un tipo en concreto dentro de un directorio especificado con una antiguedad definida. En el ejemplo eliminar los archivos .rar de dentro la carpeta DATOS que tengan mas de 4 días de antiguedad:

> forfiles /p DATOS /M *.rar /c "cmd /c Del @file" /d -4


Ejemplo: eliminar carpetas recursivamente que sean más antiguas de 365 días dentro la Test de forma silenciosa:

> forfiles /p "C:\TEST" /d -365 /c "cmd /c echo @file tiene mas de 1 año de antiguedad. & rd @FILE /s /Q" 






Si el post te ha ayudado a salir de un marrón, te ha servido pá lo que sea o simplemente te ha gustado y quieres colaborar puedes pinchar en los anuncios ;)