[BATCH] Sencillo script de backups

Aquí podrás publicar temas sobre programación en general (C++, JAVA, Python, etc), que no encajen en el apartado Programación Web.
Responder
Avatar de Usuario
#Fede
Moderador a Prueba
Moderador a Prueba
Mensajes: 3006
Registrado: 12 Ene 2015 06:32
Ubicación: Montevideo, Uruguay.
Reputación: 69

28 Oct 2018 11:59

Bueno, hace tiempo uso un script que hacia backups automáticamente de mi Gamemode y abria el IDE que uso (ST3). Pense en publicarlo, pero decidí re-hacerlo para así fuera mas "personalizable" que el que yo usaba

Como usuario del programa, solo tienes que hacer 2 cosas:

1) Crear un acceso directo de tu IDE (Pawno, ST3, VScode, cualquiera), renombrarlo a "ide" y dejarlo en la raiz del servidor.
2) Click derecho en el script, le das a editar, y en las primeras lineas hay unos parametros para editar, los comentarios indican que va en cada parte.

Y con eso estaría. El script genera automaticamente la carpeta de backups y los crea usando el siguiente formato:

B_HRA_MIN_SEG##DIA_MES.pwn


Tienen que guardarlo en formato .bat

Código: Seleccionar todo

@echo off
REM Script desarrollado por Federico Arredondo
REM Recordar configurar estos parametros de aqui abajo

REM carpetagm es el nombre de la carpeta donde esta el Gamemode, el default es gamemodes
set carpetagm=gamemodes
REM ext es la extension del Gamemode, generalmente es .pwn, pero tambien existe el .p. NO colocar el punto!
set ext=pwn
REM El nombre del gamemode, sensible a mayusculas.
set nombregm=GameMode

IF NOT EXIST "B_Backups" (mkdir B_Backups)

:menu
echo [1] - Hacer backup e iniciar IDE.
echo [2] - Hacer backup unicamente
echo [3] - Iniciar el IDE sin hacer backup
echo [4] - Salir del programa
set /p opc="Ingrese una opcion: "
IF "%opc%"=="1" (goto backide)
IF "%opc%"=="2" (goto back)
IF "%opc%"=="3" (goto ide)
IF "%opc%"=="4" (goto :EOF)
echo ¡Opcion incorrecta!
echo ­­Presione cualquier tecla para volver a ingresar una opcion
pause>nul
cls
goto menu

:backide
set fecha=%DATE%
set horaa=%TIME%
set dia=%fecha:~0,2%
set mes=%fecha:~3,2%
set hora=%horaa:~0,2%
set minuto=%horaa:~3,2%
set segundo=%horaa:~6,2%
echo /%carpetagm%\%nombregm%.%ext%
copy "./%carpetagm%\%nombregm%.%ext%" "./B_Backups/"
cd B_Backups
rename "%nombregm%.%ext%" "B_%hora%_%minuto%_%segundo%##%dia%_%mes%.pwn"
IF EXIST "%nombregm%.%ext%" (del %nombregm%.%ext%)
cd ..
start ide.lnk
echo ¡Hecho! Preisone cualquier tecla para mostrar de nuevo el menu
pause>nul
cls
goto menu

:back
:backide
set fecha=%DATE%
set horaa=%TIME%
set dia=%fecha:~0,2%
set mes=%fecha:~3,2%
set hora=%horaa:~0,2%
set minuto=%horaa:~3,2%
set segundo=%horaa:~6,2%
echo /%carpetagm%\%nombregm%.%ext%
copy "./%carpetagm%\%nombregm%.%ext%" "./B_Backups/"
cd B_Backups
rename "%nombregm%.%ext%" "B_%hora%_%minuto%_%segundo%##%dia%_%mes%.pwn"
IF EXIST "%nombregm%.%ext%" (del %nombregm%.%ext%)
cd ..
echo ¡Hecho! Preisone cualquier tecla para mostrar de nuevo el menu
pause>nul
cls
goto menu

:ide
start ide.lnk
echo ¡Hecho! Preisone cualquier tecla para mostrar de nuevo el menu
pause>nul
cls
goto menu
No doy soporte mediante mensaje privado, para eso están las secciones de Preguntas o Pedidos


scriptnoob escribió:Cada día se va mejorando el foro, nuestro objetivo es como el de una empresa:

Misión: Brindar ayuda y aportes a los usuarios.
Visión: Ser la página de mayor calidad de servicio de soporte referidos a lenguajes de programación.
Lee las reglas del foro para evitar ser sancionado




Avatar de Usuario
Untitled_
Senior
Senior
Mensajes: 806
Registrado: 13 Sep 2018 11:24
Reputación: 58

28 Oct 2018 15:52

Pocas personas valoran el buen trabajo genial -good
Sí eres nuevo podrías pasarte por mis guía
[Guía] Cómo crear un post de forma correcta
[Guía] Cómo obtener link .mp3 de [dropbox]

La suerte es el resultado de la suma de intentos, fracasos y perseverancia
Únete a mi grupo de discord

Grupo de Discord
Quieres ser parte de un proyecto TDM actualmente estoy solo cuento con host y foro phpbb
Untitled#1748
[ Imagen Externa ]

Avatar de Usuario
Gibarch
Junior
Junior
Mensajes: 145
Registrado: 12 Nov 2018 11:24
Contactar:
Reputación: 10

15 Nov 2018 18:33

¿O sea esto hace backup en general o solo del GameMode?
Avatar de Usuario
#Fede
Moderador a Prueba
Moderador a Prueba
Mensajes: 3006
Registrado: 12 Ene 2015 06:32
Ubicación: Montevideo, Uruguay.
Reputación: 69

16 Nov 2018 07:38

Gibarch escribió:
15 Nov 2018 18:33
¿O sea esto hace backup en general o solo del GameMode?
Solo del Gamemode. Este programa no esta enfocado a gamemodes modulares, simplemente es un script para backupear el Gamemode, basicamente una alternativa a la gente que no usa Git.
No doy soporte mediante mensaje privado, para eso están las secciones de Preguntas o Pedidos


scriptnoob escribió:Cada día se va mejorando el foro, nuestro objetivo es como el de una empresa:

Misión: Brindar ayuda y aportes a los usuarios.
Visión: Ser la página de mayor calidad de servicio de soporte referidos a lenguajes de programación.
Lee las reglas del foro para evitar ser sancionado




Avatar de Usuario
Sep7imo
Aprendiz
Aprendiz
Mensajes: 17
Registrado: 26 Ene 2016 21:36
Ubicación: SAD BOY.
Reputación: 0

16 Nov 2018 20:42

Hermoso mi Fede. -good
aesthetic HEARTbreak

Lo' diamante como espejo, to' corrien con el reflejo, con la forty te aconsejo no entre pa' mi ghetto negro' que te quemo - Yulian
Imagen

Lean adentro e' la nevera, uso Carolina Herrera, ta' vacía tu cartera, con un triple y la ganga en un Porsche de carrera. 🍻

Avatar de Usuario
gloweryt
Junior
Junior
Mensajes: 189
Registrado: 16 May 2017 11:42
Reputación: 11

17 Nov 2018 20:36

Me gusta, gracias por el aporte, de hecho lo personalice para que la copia se realizará en mi OneDrive. Así para no tener riesgo de perder mi gamemode -hk

Me gustaría que se ejecutará automáticamente el script cada que enciendo mi Gamemode, por ahora tengo un macro. En conclusión gracias. -good -thumbup
No te preocupes si no funciona bien. Si todo estuviera correcto, serías despedido de tu trabajo

-Ley Mosher de Ingeniería de Software

Mis aportes (hasta el momento):

Avatar de Usuario
#Fede
Moderador a Prueba
Moderador a Prueba
Mensajes: 3006
Registrado: 12 Ene 2015 06:32
Ubicación: Montevideo, Uruguay.
Reputación: 69

17 Nov 2018 22:00

gloweryt escribió:
17 Nov 2018 20:36
Me gusta, gracias por el aporte, de hecho lo personalice para que la copia se realizará en mi OneDrive. Así para no tener riesgo de perder mi gamemode -hk

Me gustaría que se ejecutará automáticamente el script cada que enciendo mi Gamemode, por ahora tengo un macro. En conclusión gracias. -good -thumbup
Como "cuando enciendes el Gamemode"?
No doy soporte mediante mensaje privado, para eso están las secciones de Preguntas o Pedidos


scriptnoob escribió:Cada día se va mejorando el foro, nuestro objetivo es como el de una empresa:

Misión: Brindar ayuda y aportes a los usuarios.
Visión: Ser la página de mayor calidad de servicio de soporte referidos a lenguajes de programación.
Lee las reglas del foro para evitar ser sancionado




Avatar de Usuario
Sep7imo
Aprendiz
Aprendiz
Mensajes: 17
Registrado: 26 Ene 2016 21:36
Ubicación: SAD BOY.
Reputación: 0

18 Nov 2018 00:26

#Fede escribió:
17 Nov 2018 22:00
gloweryt escribió:
17 Nov 2018 20:36
Me gusta, gracias por el aporte, de hecho lo personalice para que la copia se realizará en mi OneDrive. Así para no tener riesgo de perder mi gamemode -hk

Me gustaría que se ejecutará automáticamente el script cada que enciendo mi Gamemode, por ahora tengo un macro. En conclusión gracias. -good -thumbup
Como "cuando enciendes el Gamemode"?
Quiero imaginarme que es cuando abres el samp-server.exe, y prendes el host (?
aesthetic HEARTbreak

Lo' diamante como espejo, to' corrien con el reflejo, con la forty te aconsejo no entre pa' mi ghetto negro' que te quemo - Yulian
Imagen

Lean adentro e' la nevera, uso Carolina Herrera, ta' vacía tu cartera, con un triple y la ganga en un Porsche de carrera. 🍻

Avatar de Usuario
gloweryt
Junior
Junior
Mensajes: 189
Registrado: 16 May 2017 11:42
Reputación: 11

18 Nov 2018 08:10

#Fede escribió:
17 Nov 2018 22:00
...
Si, creo que no me explique bien, quise decir cuando colocó a correr el samp server.
No te preocupes si no funciona bien. Si todo estuviera correcto, serías despedido de tu trabajo

-Ley Mosher de Ingeniería de Software

Mis aportes (hasta el momento):

Avatar de Usuario
#Fede
Moderador a Prueba
Moderador a Prueba
Mensajes: 3006
Registrado: 12 Ene 2015 06:32
Ubicación: Montevideo, Uruguay.
Reputación: 69

18 Nov 2018 10:58

gloweryt escribió:
18 Nov 2018 08:10
#Fede escribió:
17 Nov 2018 22:00
...
Si, creo que no me explique bien, quise decir cuando colocó a correr el samp server.
Con Batch es algo bastante complejo, sin embargo, me apañe una idea para hacerlo, pero ya te aviso, consume bastante memoria. Primero, incluye "batchbackup.inc" en el Gamemode, luego, este script lo ejecutas una vez y queda abierto, esperando al inicio del Gamemode. Cuando inicia, lo backupea, y sigue funcionando normalmente, esperando al inicio del gamemode otra vez.
Spoiler:
batchbackup.inc

Código: Seleccionar todo

#include <YSI\y_hooks>

hook OnGameModeInit(){
	if(fexist(batch.bk)) return 0; 
    new File:file = fopen(batch.bk, io_write); 
    fclose(batch.bk); 
	return 1;
}
Script .bat

Código: Seleccionar todo

@echo off
REM Script desarrollado por Federico Arredondo
REM Recordar configurar estos parametros de aqui abajo

REM carpetagm es el nombre de la carpeta donde esta el Gamemode, el default es gamemodes
set carpetagm=gamemodes
REM ext es la extension del Gamemode, generalmente es .pwn, pero tambien existe el .p. NO colocar el punto!
set ext=pwn
REM El nombre del gamemode, sensible a mayusculas.
set nombregm=GameMode

IF NOT EXIST "B_Backups" (mkdir B_Backups)
cd scriptfiles

:recursion
IF EXIST "batch.bk" (
	cd ..
	set fecha=%DATE%
	set horaa=%TIME%
	set dia=%fecha:~0,2%
	set mes=%fecha:~3,2%
	set hora=%horaa:~0,2%
	set minuto=%horaa:~3,2%
	set segundo=%horaa:~6,2%
	copy "./%carpetagm%\%nombregm%.%ext%" "./B_Backups/"
	cd B_Backups
	rename "%nombregm%.%ext%" "B_%hora%_%minuto%_%segundo%##%dia%_%mes%.pwn"
	IF EXIST "%nombregm%.%ext%" (del %nombregm%.%ext%)
	cd ..
	cd scriptfiles
	del batch.bk
	cls
)
goto recursion
No doy soporte mediante mensaje privado, para eso están las secciones de Preguntas o Pedidos


scriptnoob escribió:Cada día se va mejorando el foro, nuestro objetivo es como el de una empresa:

Misión: Brindar ayuda y aportes a los usuarios.
Visión: Ser la página de mayor calidad de servicio de soporte referidos a lenguajes de programación.
Lee las reglas del foro para evitar ser sancionado




Avatar de Usuario
gloweryt
Junior
Junior
Mensajes: 189
Registrado: 16 May 2017 11:42
Reputación: 11

18 Nov 2018 18:30

#Fede escribió:
18 Nov 2018 10:58
...
Gracias, me sirvió a las maravillas, lastima que consuma bastante memoria, pero bueno... -thanks
No te preocupes si no funciona bien. Si todo estuviera correcto, serías despedido de tu trabajo

-Ley Mosher de Ingeniería de Software

Mis aportes (hasta el momento):

Responder