Pregunta sobre llamadas de bat!

¿Hola experto como andas?
Tengo una duda sobre un scripts que hice en .bat
El script me funcionaba perfecto pero un momento a otro, lo dejo de hacer...
for /f "tokens=1" %%i in ('date /t') do set DATE=%%i
set fecha=%DATE:/=%
C:\xampp\xampp_cli.exe stop apache
"C:\Program Files (x86)\Winrar\rar" a -ep1 C:\xampp\apache\backup_logs\backup_%fecha% C:\xampp\apache\logs\
echo > C:\xampp\apache\logs\access.log
echo > C:\xampp\apache\logs\error.log
echo > C:\xampp\apache\logs\ssl_request.log
C:\xampp\xampp_cli.exe start apache
Pause
Este script primeramente para el servidor con la linea
C:\xampp\xampp_cli.exe stop apache
(Te comento que es un exe que esta en la carpeta raíz del xampp)
Luego comprime los archivos, los transfiere a otra carpeta, vacía los archivos y luego enciende el servidor con la linea C:\xampp\xampp_cli.exe start apache
Cuando termine el script lo probé y funcionaba perfecto.
Pero ahora es como que no me para el servidor, por ende no puede comprimir los archivos y vaciarlos, ya que estos son uilizados por el.
Para mi el problema puede ser que no sea la forma adecuada de llamar a un .exe desde un bat.
Te recuerdo que el script andaba bien, pero de un momento a otro lo dejo de hacer.
Espero tu respuesta
Saludos
Diego
Respuesta
1
En principio las llamadas son correctas. No sé si puede haber problemas de "sincronización". Quiero decir que tal vez el proceso de parada del "apache" lleve cierto tiempo o esté dando algún error y no sé si podrás controlarlo con la utilización de la variable de entorno ERRORLEVEL. Se supone que sí ejecutas un programa y termina bien la variable ERRORLEVEL tendrá un valor de 0 y si termina mal un valor de 1. También puede tener otros valores.
Te sugiero que pruebes con esto:
for /f "tokens=1" %%i in ('date /t') do set DATE=%%i
set fecha=%DATE:/=%
C:\xampp\xampp_cli.exe stop apache
if errorlevel 1 goto error
"C:\Program Files (x86)\Winrar\rar" a -ep1 C:\xampp\apache\backup_logs\backup_%fecha% C:\xampp\apache\logs\
echo > C:\xampp\apache\logs\access.log
echo > C:\xampp\apache\logs\error.log
echo > C:\xampp\apache\logs\ssl_request.log
C:\xampp\xampp_cli.exe start apache
Pause
:Error
Echo La parada del Apache ha dado problemas
Si no te sale por el mensaje de error la cosa me parecerá inexplicable. Si sale por el error habrá que investigar por qué da errores la parada del Apache.
Debería ayudarte algún mensaje que se produzca al parar. Prueba a pararlo por comando directo.
Cuéntame como te va.
Saludos,
GGG
¿Hola experto como andas?
Te comento después de tanto probar, se me dio por instalar el servidor en otra maquina y probar el script, funciona perfecto.
El problema esta en mi maquina.
Yo creo que se solucionaría reinstalando todo...
Muchas gracias por todo
Nos vemos en la próxima
Un abrazo
Diego

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas