elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Usando Git para manipular el directorio de trabajo, el índice y commits (segunda parte)


+  Foro de elhacker.net
|-+  Programación
| |-+  Scripting
| | |-+  [BATCH] Script para backups incrementales.
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: 1 [2] Ir Abajo Respuesta Imprimir
Autor Tema: [BATCH] Script para backups incrementales.  (Leído 12,702 veces)
jorma16

Desconectado Desconectado

Mensajes: 7


Ver Perfil
Re: [BATCH] Script para backups incrementales.
« Respuesta #10 en: 2 Agosto 2012, 19:45 pm »

Joder EleKtro... Eres un CRACK tío!! Que grande... En alguna parte tendré que dejar constancia de que el Script es tuyo porque... Que guapo... Muchisimas gracias, es exactamente lo que andaba buscando...

Ahora lo que haré será aprender este lenguaje haciendo Scripts mas sencillitos.. Y iré posteando por aquí las dudas porque me ha parecido un lenguaje muy interesante...


En línea

guajolote_vengador

Desconectado Desconectado

Mensajes: 10


Ver Perfil
Re: [BATCH] Script para backups incrementales.
« Respuesta #11 en: 20 Agosto 2012, 03:36 am »

Saludos a todos.

Estuve probando el script y tomando en cuenta que soy muy nob, tal vez entendí mal, por lo que expongo lo que entendí: el code primero hace una copia de perfiles en archivos 7z al directorio backups y genera un listado en txt de los archivos respaldados en el 7z, esto si es el primer backup, si los archivos 7z ya existen, entonces crea otro listado indicando cuales archivos han sido modificados y agregados a otro archivo 7z sin borrar el existente, y en el listado agrega los archivos modificados en orden alfabético.

Pero cuando yo hago esto (sin haber hecho un backup previo) solo me genera los archivos txt pero no los 7z, y si lo ejecuto por segunda vez me agrega las líneas a los archivos txt pero sigue sin generar el 7z.

nota: el 7z.exe lo copie a la ruta correcta y las carpetas las cree en las rutas descritas en las variables.

Entonces que estoy haciendo mal.


Código
  1. @Echo OFF
  2. Title Server Backup By Elektro H@cker
  3. Setlocal enabledelayedexpansion
  4.  
  5. Set "BACKUPS=C:\Users\Administrador\Desktop\Backups"
  6. Set "PERFILES=C:\Users\Administrador\Desktop\Perfiles"
  7. Set "SevenZip=%WINDIR%\System32\7z.exe"
  8.  
  9. PUSHD "%PERFILES%"
  10. FOR /F "Tokens=*" %%# in ('DIR /B /AD') Do (
  11. PUSHD "%%#"
  12. If not exist "%BACKUPS%\%%#*7z" (Call :First_Backup "%%#") ELSE (Call :Next_Backup "%%#")
  13. )
  14. Goto :FIN
  15.  
  16. :First_Backup
  17. Echo: [+] Comprimiendo el perfil de %1 | MORE
  18. "%SevenZip%" u -mx=9 -ms=off -t7z "%BACKUPS%\%~1.1.7z" "%PERFILES%\%~1" >NUL
  19. FOR /R %%@ in (*) Do (FOR /F "tokens=1-4,* delims=/ " %%A in ('Echo %%~t@') do (Echo %%C/%%B/%%A [%%D] (1^) ^| %%~nx@ >> "%BACKUPS%\%%#.txt"))
  20. Goto:EOF
  21.  
  22. :Next_Backup
  23. For /F "tokens=2 delims=." %%_ in ('Dir /B "%BACKUPS%\%~1*7z"') do (Set /A "LastNum=%%_", "Lastnum+=1")
  24. FOR /R %%@ in (*) Do (
  25. FOR /F "tokens=1-5,* delims=/: " %%A in ('Echo %%~t@;%%@') do (
  26. Find /I "%%~nxF" "%BACKUPS%\%~1.txt" >NUL && (
  27. For /F "Tokens=1-4,* Delims=()[] " %%a in ('Type "%BACKUPS%\%~1.txt" ^| Find /I "%%~nxF"') do (
  28. set "Date=%%a"
  29. Set "Hour=%%b"
  30. IF "%%C%%B%%A%%D%%E" GTR "!DATE:/=!!Hour::=!" (
  31. Type "%BACKUPS%\%~1.txt" | FIND /I /V "%%~nxF" > "%TEMP%\%%#.txt"
  32. Echo %%C/%%B/%%A [%%D:%%E] (!LastNum!^) ^| %%~nx@ >> "%TEMP%\%%#.txt"
  33. Move /Y "%TEMP%\%%#.txt" "%Backups%\%~1.txt" >NUL
  34. )
  35. )
  36. ) || (Echo %%C/%%B/%%A [%%D:%%E] (!LastNum!^) ^| %%~nxF >> "%Backups%\%~1.txt")
  37. )
  38. )
  39. Echo: [+] Comprimiendo el perfil de %1 | MORE
  40. "%SevenZip%" u -mx=9 -ms=off -t7z "%BACKUPS%\%~1.%Lastnum%.7z" "%PERFILES%\%~1" >NUL
  41. SORT /+25 "%BACKUPS%\%~1.txt" > "%TEMP%\%~1.txt"
  42. Move /Y "%TEMP%\%~1.txt" "%BACKUPS%\%~1.txt" >NUL
  43. Goto :EOF
  44.  
  45. :FIN
  46. Echo: Ha finalizado la creacion de copias de seguridad. | MORE
  47. Timeout /T 30 || Pause


« Última modificación: 20 Agosto 2012, 03:45 am por ald140876 » En línea

Eleкtro
Ex-Staff
*
Desconectado Desconectado

Mensajes: 9.885



Ver Perfil
Re: [BATCH] Script para backups incrementales.
« Respuesta #12 en: 20 Agosto 2012, 11:28 am »

¿Pero has copiado también el 7z.dll a la carpeta system32? :¬¬ Una aplicación sin sus librerías poco va a poder hacer XD

Saludos
En línea



guajolote_vengador

Desconectado Desconectado

Mensajes: 10


Ver Perfil
Re: [BATCH] Script para backups incrementales.
« Respuesta #13 en: 20 Agosto 2012, 23:39 pm »

:o Jajaja!, Que atarantado me vi.

Efectivamente era eso.

Doble gracias, por el code y por la ayuda.


Saludos.
En línea

Páginas: 1 [2] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Re: Ayuda para crear script basico en batch
Scripting
SuperDraco 1 3,637 Último mensaje 2 Junio 2011, 05:17 am
por .:UND3R:.
[BATCH] Script para ver archivos que se ejecutan al inicio
Scripting
Davidmatias321 9 7,366 Último mensaje 23 Diciembre 2011, 10:25 am
por Eleкtro
Script Para copiar archos Batch « 1 2 »
Scripting
Guille270 10 6,768 Último mensaje 2 Marzo 2015, 19:36 pm
por Guille270
Script en batch para crear respaldos.
Scripting
mis4 0 2,258 Último mensaje 21 Diciembre 2016, 21:00 pm
por mis4
[BATCH] Pequeño script para estudiarlo [ACTUALIZADO]
Scripting
.:Xx4NG3LxX:. 3 3,006 Último mensaje 22 Abril 2020, 01:47 am
por @XSStringManolo
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines