Windows 7 - Batch no se genera archivo desde el programador de tareas

 
Vista:
sin imagen de perfil
Val: 12
Ha mantenido su posición en Windows 7 (en relación al último mes)
Gráfica de Windows 7

Batch no se genera archivo desde el programador de tareas

Publicado por Marcos (4 intervenciones) el 17/12/2018 16:14:46
Estimados, me encuentro conla siguiente situación, deseo backupear diariamente una base de datos de mysql desde un bat. Esta tarea la deseo ejecutar desde un Windows Server 2008 R2 como administrador.

He generado el código correspondiente para que genere un archivo sql con la fecha del día pero solo se genera si lo ejecuto manualmente, no desde el programador de tareas. Desde este último dice que se ejecutó pero no genera dicho archivo.

Probé con "ejecutar con los privilegios más altos" y "ejecutar si el usuario inicio o no sesión" pero no hubo caso.

Agradezco su ayuda,

Muchas gracias.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Antoni Masana
Val: 26
Ha mantenido su posición en Windows 7 (en relación al último mes)
Gráfica de Windows 7

Batch no se genera archivo desde el programador de tareas

Publicado por Antoni Masana (13 intervenciones) el 18/12/2018 07:39:21
Hay varias posibilidades.

El el programador de tareas en la propia tarea:

Que esté marcada la opción: Ejecutar sólo cuando el usuario haya iniciado la sesión y no esté iniciada.

Que esté marcada la opción: Ejecutar tanto si el usuario inició la sesión como si no y tenga mal la contraseña de usuario.

Que este marcada la primera opción y simplemente no ejecute la tarea aunque el log del programador de tareas diga que lo hizo y lo hizo bien.

En este último caso me he encontrado y la solución es rebotar el equipo cada día.. Es Microsoft, no hacen falta más palabras.

Saludos.
\\//_
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 12
Ha mantenido su posición en Windows 7 (en relación al último mes)
Gráfica de Windows 7

Batch no se genera archivo desde el programador de tareas

Publicado por Marcos (4 intervenciones) el 18/12/2018 17:21:51
Muchas gracias por responder, me faltaron agregar algunos detalles, tengo marcada la opción "Ejecutar tanto si el usuario inició la sesión como si no " y lo ejecuto como administrador desde un controlador de dominio.

He probado completando el campo opcional "iniciar en" la ruta donde está el script(con y sin comillas), colocar el bat en otra ruta, compatibilidad con Windows 7 e inclusive ejecutarlo manualmente desde el programador de tareas (botón Ejecutar) y en el último caso, se queda en estado "ejecución" , sabiendo que esta tarea dura menos de 2 o 3 segundos reloj si se realiza con el famoso doble click desde el Explorador de Windows.

Cuando lo ejecuto desde el Explorador de Windows (como mencioné arriba) me genera el archivo que espero aunque me muestra -durante unos segundos- lo siguiente desde el cmd:
\>´╗┐@echo off
"´╗┐@echo" no se reconoce como un comando interno o externo,
programa o archivo por lotes ejecutable.

El bat contiene lo siguiente:

@echo off
set FECHA= %date%
set FECHA=%FECHA:/=%
mysqldump --opt --user=xxx --password=xxx mibase_db > backup"%FECHA%".sql
exit

No se si hay que pasarle algún parámetro al bat desde el programador de tareas o que es lo que sucede.

Agradezco la atención!

Abrazo.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Antoni Masana
Val: 26
Ha mantenido su posición en Windows 7 (en relación al último mes)
Gráfica de Windows 7

Batch no se genera archivo desde el programador de tareas

Publicado por Antoni Masana (13 intervenciones) el 18/12/2018 19:55:39
El programador de tareas es puñetero, por no decir todo el Windows, y digo puñetero para no decir cosas peores.

Has lo siguiente. Modifica el BAT de la siguiente forma

1
2
3
4
5
6
@echo ON
echo. %date% - %Time%
set FECHA= %date%
set FECHA=%FECHA:/=%
mysqldump --opt --user=xxx --password=xxx mibase_db > \RUTA\backup_%FECHA%.sql
exit

Y en el programador de tareas en la casilla donde van los parametros pon esto

1
>> \RUTA\backup.txt 2>&1

Siendo \Ruta\ El directorio donde tiene que grabar el backup*.sql. En el fichero backup.txt veras lo que va ejecutando el BAT, la primera línea sera la fecha y la hora y si hay errores.

Si la tarea no se ejecuta a la hora programada prueba a botar el ordenador, a veces se queda tonto, mas de lo que ya es.

Saludos.
\\//_
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
2
Comentar
sin imagen de perfil
Val: 12
Ha mantenido su posición en Windows 7 (en relación al último mes)
Gráfica de Windows 7

Batch no se genera archivo desde el programador de tareas

Publicado por Marcos (4 intervenciones) el 22/12/2018 15:35:58
Muchas gracias por responder Antoni y por sobre todo a tan pronto tiempo desde que escribí mi duda; pido perdón por responderte tarde pero no estuve trabajando estos días.

Logré hacer que funcione pero no se si del todo bien, debido a que la tarea estuvo más de 5 minutos reloj y seguía en estado ejecución(por un sql de 7 MB) la probé de manera manual(botón ejecutar del programador de tareas) y la detuve con el botón "finalizar" a causa del "problema" mencionado. Lo que hice para que genere los archivos es agregarle comillas dobles a todo el nombre del archivo sql, por que si no me ponía solo el valor de la variable y no me funcionaba(gracias al log). El nombre quedó así: RUTA\"backup_%FECHA%.sql"

Retomando el "nuevo problema", me dá miedo que siga en estado ejecución y pueda colgarse o dañar la base. Me pasó una vez con un Access en el que ejecutaba una macro que llamaba a una consulta y enviaba los resultados por Outlook. El archivo bat cuando lo probaba sin el programador de tareas, funcionaba muy bien pero cuando lo utilicé con el programador de tareas de manera automática(como corresponde) se dañó y no quedó otra que reemplazarlo con una copia que tenía.


Para más información, muestro el log generado:


C:\Windows\system32>@echo ON
"@echo" no se reconoce como un comando interno o externo,
programa o archivo por lotes ejecutable.

C:\Windows\system32>echo. 22/12/2018 - 11:12:59,93
22/12/2018 - 11:12:59,93

C:\Windows\system32>set FECHA= 22/12/2018

C:\Windows\system32>set FECHA= 22122018

C:\Windows\system32>mysqldump --opt --user=xxx --password=xxx base_db 1>RUTA\"backup_ 22122018.sql"

C:\Windows\system32>EXIT

Muchas gracias!!
Abrazo!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar
sin imagen de perfil
Val: 12
Ha mantenido su posición en Windows 7 (en relación al último mes)
Gráfica de Windows 7

Batch no se genera archivo desde el programador de tareas

Publicado por Marcos (4 intervenciones) el 22/12/2018 18:26:50
Bueno, quiero decirles que ya he solucionado el problema. Muchas gracias Antoni por todo.

En principio, generé otro bat y le pegé el contenido del bat en cuestión. Ahí se solucionó el problema del "@echo..." y para que la tarea se termine, la ejecutó el programador de tareas(sin que yo intervenga) sin problemas. Le puse un horario y cuando se ejecutó, la misma paso al estado de finalizado. Probé dos o tres veces y todas de manera correcta.

Saludos a todos y ojalá les sirva a alguien esto.

Nuevamente, muchas gracias.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar