Este es un pequeño bat que he creado para realizar copias de seguridad automatizadas.
Las copias se realizan diariamente ,programando una tarea que lanze el script, y las carpetas donde se almacenan los datos toman como nombre la fecha diaria.
La carpeta con mas de 5 dias es eliminada automaticamente,para ello empleo algunos comandos incluidos en el Kit de implementación de Microsoft Windows 2000 ,esto son:
[*]robocopy.exe ,para realizar las copias y asignar nombre a las carpetas.
[*]forfiles.exe ,para realizar la purga de carpetas y archivos con mas de 5 dias.
Posteriormente añadi la opcion de enviar el log de la actividad por mail a mi correo,para ello use programas de terceros:
[*]bmail.exe ,un pequeño programa de 17Kb que permite enviar correo desde linea de comando.
[*]miniRelay.exe ,un servidor de smtp muy liviano y que no precisa instalacion.
Para hacer andar el script logicamente deberas descargar tanto los comandos usados como los programas ,con google es cuestion de minutos.
No comento el codigo porque considero que es bastante simple ,no obstante todos los comandos empleados tienen su correspondiente ayuda.
Si aun asi..tienes algun problema ,no dudes en mandarme un mail.
Saludos!
@echo off REM haz copias de seguridad ,poniendo como nombre de carpeta el dia actual REM elimina las carpetas y archivos con mas antiguedad de la deseada. REM si te ha sido util cuentamelo: dev@professionalpartners.es net session /delete forfiles -pF:\USUARIOS -m*.* -d-5 -c"CMD /C RD /S /Q @FILE" SETLOCAL set FECHA= %date% set FECHA=%FECHA:/=% set FECHA=%FECHA: =% set FECHA=%FECHA::=% set FECHA=%FECHA:,=% SET _origen=D:\USUARIOS SET _destino=F:\USUARIOS SET _que=/COPYALL /B /SEC /MIR SET _opciones=/R:0 /W:0 /LOG:log.txt /NFL /NDL ROBOCOPY %_origen% "%_destino%\%FECHA%" %_que% %_opciones% bmail.exe -s localhost -t malaga.we0@sermicro.com -f copia@mondapan.com -h -m c:\robotmongolo\log.txt exit