Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Bases de datos > Firebird e Interbase
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 02-10-2007
gescoto99 gescoto99 is offline
Miembro
 
Registrado: mar 2004
Ubicación: mexico
Posts: 45
Poder: 0
gescoto99 Va por buen camino
Respaldo Base de Datos


Un cliente me ha solicitado que le de un script para hacer un respaldo de la base de datos y despues con un software que el tiene se programen los respaldos de toda la informacion que desee.
Hasta aqui no hay duda. Le envie el script con el comando gbak sin embargo me indica que su software de respaldo antes de ejecutar el comando verifica que no se este ejecutando el servicio, por lo que al detectar que el firebird esta funcionado aborta ese respaldo.
Existe algun comando para detener la base de datos y otro para arrancar la base de datos? y asi poder insertar estos al principio y fin de mi script?
Responder Con Cita
  #2  
Antiguo 02-10-2007
pcicom pcicom is offline
Miembro
 
Registrado: may 2003
Ubicación: MONTERREY MEXICO
Posts: 253
Poder: 21
pcicom Va por buen camino
puedes hacer un .bat

echo RESPALDANDO Firebird Server
NET STOP "Firebird Server - DafaultInstance"
COPY c:\direcorio\base.fdb c:\Respaldos\
NET START "Firebird Server - DafaultInstance"


Siempre y cuando lo tengas funcionando como un SERVICIO de Windows..

Si utilizas el Guardian seria asi:

echo RESPALDANDO Firebird Guardian
NET STOP "Firebird Guardian - DafaultInstance"
COPY c:\direcorio\base.fdb c:\Respaldos\
NET START "Firebird Guardian - DafaultInstance"
__________________
Poco ha de saber el que no pregunta.. Yo por eso soy un pregunton

Última edición por pcicom fecha: 03-10-2007 a las 18:29:05.
Responder Con Cita
  #3  
Antiguo 03-10-2007
pvizcay pvizcay is offline
Miembro
 
Registrado: jun 2006
Posts: 147
Poder: 18
pvizcay Va por buen camino
los backups se pueden hacer en "caliente", no hace falta parar la base de datos en realidad.. y es más seguro que hacer un copy.. yo buscaría en internet por ese lado

salu2
Responder Con Cita
  #4  
Antiguo 03-10-2007
Avatar de Lepe
[Lepe] Lepe is offline
Miembro Premium
 
Registrado: may 2003
Posts: 7.424
Poder: 29
Lepe Va por buen camino
¿ qué componentes de acceso usas ?

Yo uso los MDOLIB y tiene un par de componentes para hacer backup y restore (no los he probado) pero supongo es la solución.

Saludos
__________________
Si usted entendió mi comentario, contácteme y gustosamente,
se lo volveré a explicar hasta que no lo entienda, Gracias.
Responder Con Cita
  #5  
Antiguo 03-10-2007
Avatar de duilioisola
[duilioisola] duilioisola is offline
Miembro Premium
 
Registrado: ago 2007
Ubicación: Barcelona, España
Posts: 1.734
Poder: 20
duilioisola Es un diamante en brutoduilioisola Es un diamante en brutoduilioisola Es un diamante en bruto
Aquí les va un batch bastante grande que fui modificando a lo largo de años, con cosas de otra gente, ejemplos que fui encontrando y mías...

Espero no se enojen los autores de las diferentes partes, pues no me acuerdo de sus nombre.

Código:
@echo off
cls

rem ----------------------------------------------------------------------
rem Parametro 1 : Es el sufijo para nombrar el backup (Lunes/Martes/...)
rem nombre : nombre del backup
rem nombreBD : nombre de la base de datos. 
rem            *** Sin path ni extension. ***
rem IPori : direccion IP donde se encuentra la base de datos
rem IPdes : direccion IP donde se hará el restore
rem origen : path donde se encuentra la base de datos
rem destino : path donde se generara copia, backup y restore
rem copia : SI/NO - si se copia la base de datos (solo win a win)
rem backup : SI/NO - si se hace un backup (gbak)
rem restore : SI/NO - si se hace un restore para verificar que el gbak funciono
rem comprimir : SI/NO - utiliza Winrar para hacer la compresion del backup, restore y copia
rem ftp : SI/NO - envia los reportes del backup y restore 
rem ftpBase : SI/NO - envia el backup de la base de datos
rem optimizacion : SI/NO - hace backup/restore de la base si no esta usandose
rem                SOLO PARA WINDOWS !!!
rem deframgentar : SI/NO - ejecuta una desfragmentacion del disco C al finalizar
rem ----------------------------------------------------------------------


set nombre=NombreDelCliente
set nombreBD=NombreDeLaBD
set IPori=127.0.0.1
set IPdes=127.0.0.1
set origen=C:\Datos\
set destino=C:\Backup\
set copia=SI
set backup=SI
set restore=SI
set comprimir=SI
set ftp=SI
set ftpBase=SI
set optimizacion=SI
set defragmentar=SI

cd %destino%

set weekday_=%1

echo *******************************************************************************
echo ***                                                                         ***
echo ***                   ESTA PANTALLA SE PUEDE MINIMIZAR                      ***
echo ***                                                            (VER 070629) ***
echo *******************************************************************************
echo Copia de Seguridad %nombre% - %weekday_%
echo %date% %time% 
echo *******************************************************************************
echo ******************************************************************************** >> copia_%nombre%_%weekday_%.log
echo Copia de Seguridad %nombre% - %weekday_% >> copia_%nombre%_%weekday_%.log
echo %date% %time%  >> copia_%nombre%_%weekday_%.log
echo ******************************************************************************** >> copia_%nombre%_%weekday_%.log

if "%copia%"=="NO" goto FinCopia
   echo %date% %time% - Copia
   echo %date% %time% >> copia_%nombre%_%weekday_%.log
   echo Copia %origen%%nombreBD%.fdb "-->" %destino%%nombreBD%_%weekday_%.bak  >> copia_%nombre%_%weekday_%.log
   echo -------------------------------------------------------------------------------- >> copia_%nombre%_%weekday_%.log
   copy %origen%%nombreBD%.fdb %destino%%nombreBD%_%weekday_%.bak /y >> copia_%nombre%_%weekday_%.log

   if "%comprimir%"=="NO" goto FinComprimirBAK
      echo %date% %time% - Compresion de Copia
      echo %date% %time% >> copia_%nombre%_%weekday_%.log
      echo Compresion de %destino%%nombreBD%_%weekday_%.bak >> copia_%nombre%_%weekday_%.log
      echo -------------------------------------------------------------------------------- >> copia_%nombre%_%weekday_%.log
      if exist %destino%%nombreBD%_%weekday_%.bak "C:\Archivos de programa\WinRAR\WinRAR.exe" a %destino%%nombreBD%_%weekday_%.bak.rar %destino%%nombreBD%_%weekday_%.bak
   :FinComprimirBAK

:FinCopia

if "%backup%"=="NO" goto FinBackup
   echo %date% %time% - Backup
   echo %date% %time% >> copia_%nombre%_%weekday_%.log
   echo Backup - %IPori%:%origen%%nombreBD%.fdb "-->" %destino%%nombreBD%_%weekday_%.GBK >> copia_%nombre%_%weekday_%.log
   echo -------------------------------------------------------------------------------- >> copia_%nombre%_%weekday_%.log
   if exist backup_%nombre%_%weekday_%.log del backup_%nombre%_%weekday_%.log
   "C:\Archivos de programa\Firebird\Firebird_1_5\bin\gbak.exe" -t %IPori%:%origen%%nombreBD%.fdb %destino%%nombreBD%_%weekday_%.GBK -user SYSDBA -pass masterkey -y backup_%nombre%_%weekday_%.log
   type %destino%Backup_%nombre%_%weekday_%.log >> copia_%nombre%_%weekday_%.log

   if "%comprimir%"=="NO" goto FinComprimirGBK
      echo %date% %time% - Compresion de Backup
      echo %date% %time% >> copia_%nombre%_%weekday_%.log
      echo Compresion de %destino%%nombreBD%_%weekday_%.GBK >> copia_%nombre%_%weekday_%.log
      echo -------------------------------------------------------------------------------- >> copia_%nombre%_%weekday_%.log
      if exist %destino%%nombreBD%_%weekday_%.gbk "C:\Archivos de programa\WinRAR\WinRAR.exe" a %destino%%nombreBD%_%weekday_%.gbk.rar %destino%%nombreBD%_%weekday_%.gbk
   :FinComprimirGBK

:FinBackup

if "%restore%"=="NO" goto FinRestore
   echo %date% %time% - Restore
   echo %date% %time% >> copia_%nombre%_%weekday_%.log
   echo Restore %destino%%nombreBD%_%weekday_%.GBK "-->" %IPdes%:%destino%%nombreBD%_%weekday_%.res >> copia_%nombre%_%weekday_%.log
   echo -------------------------------------------------------------------------------- >> copia_%nombre%_%weekday_%.log
   if exist restore_%nombre%_%weekday_%.log del restore_%nombre%_%weekday_%.log
   "C:\Archivos de programa\Firebird\Firebird_1_5\bin\gbak.exe" -r %destino%%nombreBD%_%weekday_%.GBK %IPdes%:%destino%%nombreBD%_%weekday_%.res -user SYSDBA -pass masterkey -y restore_%nombre%_%weekday_%.log
   type %destino%\Restore_%nombre%_%weekday_%.log >> copia_%nombre%_%weekday_%.log

   if "%comprimir%"=="NO" goto FinComprimirGDB
      if IPdes=="127.0.0.1" goto FinComprimirGDB
      echo %date% %time% - Compresion de Restore
      echo %date% %time% >> copia_%nombre%_%weekday_%.log
      echo Compresion de %destino%%nombreBD%_%weekday_%.res >> copia_%nombre%_%weekday_%.log
      echo -------------------------------------------------------------------------------- >> copia_%nombre%_%weekday_%.log
      if exist %destino%%nombreBD%_%weekday_%.res "C:\Archivos de programa\WinRAR\WinRAR.exe" a %destino%%nombreBD%_%weekday_%.res.rar %destino%%nombreBD%_%weekday_%.res
   :FinComprimirGDB

:FinRestore

if "%comprimir%"=="NO" goto FinComprimir
   echo %date% %time% >> copia_%nombre%_%weekday_%.log
   echo Borrado de originales >> copia_%nombre%_%weekday_%.log
   echo -------------------------------------------------------------------------------- >> copia_%nombre%_%weekday_%.log
   if exist %destino%%nombreBD%_%weekday_%.bak del %destino%%nombreBD%_%weekday_%.bak >> copia_%nombre%_%weekday_%.log
   if exist %destino%%nombreBD%_%weekday_%.GBK del %destino%%nombreBD%_%weekday_%.GBK >> copia_%nombre%_%weekday_%.log
   if exist %destino%%nombreBD%_%weekday_%.res del %destino%%nombreBD%_%weekday_%.res >> copia_%nombre%_%weekday_%.log
:FinComprimir


if "%ftp%"=="NO" goto FinFTP
   echo %date% %time% - Envio de Reportes
   echo %date% %time% >> copia_%nombre%_%weekday_%.log
   echo FTP a servidor externo >> copia_%nombre%_%weekday_%.log
   echo -------------------------------------------------------------------------------- >> copia_%nombre%_%weekday_%.log
   if exist ftp_%nombre%_%weekday_%.txt del ftp_%nombre%_%weekday_%.txt
rem *** Poner una IP correcta
   echo open 123.123.123.123> ftp_%nombre%_%weekday_%.txt
rem ***
   echo user usuario>> ftp_%nombre%_%weekday_%.txt
   echo contrasena>> ftp_%nombre%_%weekday_%.txt
   echo cd logs>> ftp_%nombre%_%weekday_%.txt
   echo asc>> ftp_%nombre%_%weekday_%.txt
   echo send %destino%Backup_%nombre%_%weekday_%.log  backup_%nombre%.log>> ftp_%nombre%_%weekday_%.txt
   echo send %destino%Restore_%nombre%_%weekday_%.log restore_%nombre%.log>> ftp_%nombre%_%weekday_%.txt
   if "%ftpBase%"=="NO" goto FinFTPBase
      echo cd ..>> ftp_%nombre%_%weekday_%.txt
rem *** Poner carpeta correcta
      echo cd directorio>> ftp_%nombre%_%weekday_%.txt
rem *** 
      echo bin>> ftp_%nombre%_%weekday_%.txt
      echo send %destino%%nombreBD%_%weekday_%.gbk.rar>> ftp_%nombre%_%weekday_%.txt
   :FinFTPBase
   echo bye>> ftp_%nombre%_%weekday_%.txt

   FTP -n -s:ftp_%nombre%_%weekday_%.txt >> ftp_%nombre%_%weekday_%.log
   type ftp_%nombre%_%weekday_%.log >> copia_%nombre%_%weekday_%.log
   echo -------------------------------------------------------------------------------- >> copia_%nombre%_%weekday_%.log

:FinFTP

if "%optimizacion%"=="NO" goto FinOptimizacion
   Echo %date% %time% - Optimizacion
   Echo Optimizacion >> copia_%nombre%_%weekday_%.log
   echo -------------------------------------------------------------------------------- >> copia_%nombre%_%weekday_%.log
   Echo      Desconectando BD ...
   Echo Desconectando BD ... >> copia_%nombre%_%weekday_%.log
   "C:\Archivos de programa\Firebird\Firebird_1_5\bin\gfix.exe" -shut -attach 30 %IPori%:%origen%%nombreBD%.fdb -user SYSDBA -pass masterkey 2> errout.tmp

   echo 1> nul 2> vacio.tmp
   echo N 1> N_CR.tmp
   comp errout.tmp vacio.tmp 1> nul 2> nul < N_CR.tmp
   if errorlevel 1 GOTO ERRBDConectada

   Echo      Copia de la base antes de optimizar
   Echo Copia de la base antes de optimizar >> copia_%nombre%_%weekday_%.log
   copy %origen%%nombreBD%.fdb %destino%%nombreBD%.OPTIMIZACION /y > errout.tmp
   if errorlevel 1 GOTO ERRNoCopia

   echo      Parando Servidor Firebird ...
   echo Parando Servidor Firebird ... >> copia_%nombre%_%weekday_%.log
   NET STOP "Firebird Server - Defaultinstance" 1> nul 2>> copia_%nombre%_%weekday_%.log
   IF errorlevel 1 GOTO ERRNoParaFirebird

   echo      Arrancando Guardian ...
   echo Arrancando Guardian ... >> copia_%nombre%_%weekday_%.log
   NET START "Firebird Guardian - DefaultInstance" 1> nul 2>> copia_%nombre%_%weekday_%.log
   IF errorlevel 1 GOTO ERRNoIniciaGuardian

   echo      Haciendo Backup ...
   echo Haciendo Backup ... >> copia_%nombre%_%weekday_%.log
   if exist backup_%nombre%_Optimizacion.log del backup_%nombre%_Optimizacion.log
   "C:\Archivos de programa\Firebird\Firebird_1_5\bin\gbak.exe" -t %IPori%:%origen%%nombreBD%.fdb %destino%%nombreBD%_Optimizacion.GBK -user SYSDBA -pass masterkey -y backup_%nombre%_Optimizacion.log

   echo 1> nul 2> vacio.tmp
   echo N 1> N_CR.tmp
   comp backup_%nombre%_Optimizacion.log vacio.tmp 1> nul 2> nul < N_CR.tmp
   if errorlevel 1 GOTO ERRBackup

   echo      Haciendo Restore ...
   echo Haciendo Restore ... >> copia_%nombre%_%weekday_%.log
   if exist restore_%nombre%_optimizacion.log del restore_%nombre%_optimizacion.log
   "C:\Archivos de programa\Firebird\Firebird_1_5\bin\gbak.exe" -r %destino%%nombreBD%_optimizacion.GBK %IPori%:%origen%%nombreBD%.fdb -user SYSDBA -pass masterkey -y restore_%nombre%_optimizacion.log

   echo 1> nul 2> vacio.tmp
   echo N 1> N_CR.tmp
   comp restore_%nombre%_optimizacion.log vacio.tmp 1> nul 2> nul < N_CR.tmp
   if errorlevel 1 GOTO ERRRestore

:ACTIVAR_BASE
   echo      Activando BD...
   echo Activando BD... >> copia_%nombre%_%weekday_%.log
   "C:\Archivos de programa\Firebird\Firebird_1_5\bin\gfix.exe" -online %IPori%:%origen%%nombreBD%.fdb -user SYSDBA -pass masterkey 2> errout.tmp

   echo 1> nul 2> vacio.tmp
   echo N 1> N_CR.tmp
   comp errout.tmp vacio.tmp 1> nul 2> nul < N_CR.tmp
   if errorlevel 1 GOTO ERRNoActivaBD

   goto FinOptimizacion

:ERRBDConectada
echo !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! >> copia_%nombre%_%weekday_%.log
echo ************************************************************ >> copia_%nombre%_%weekday_%.log
echo ERROR : Base de Datos Conetada >> copia_%nombre%_%weekday_%.log
echo ************************************************************ >> copia_%nombre%_%weekday_%.log
echo !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! >> copia_%nombre%_%weekday_%.log
goto FinOptimizacion

:ERRNoCopia
echo !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! >> copia_%nombre%_%weekday_%.log
echo ************************************************************ >> copia_%nombre%_%weekday_%.log
echo ERROR : No se pudo hacer una copia de la base de datos >> copia_%nombre%_%weekday_%.log
echo ************************************************************ >> copia_%nombre%_%weekday_%.log
echo !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! >> copia_%nombre%_%weekday_%.log
goto FinOptimizacion

:ERRNoParaFirebird
echo !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! >> copia_%nombre%_%weekday_%.log
echo ************************************************************ >> copia_%nombre%_%weekday_%.log
echo ERROR : No se pudo detener el servicio Firebird >> copia_%nombre%_%weekday_%.log
echo ************************************************************ >> copia_%nombre%_%weekday_%.log
echo !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! >> copia_%nombre%_%weekday_%.log
goto FinOptimizacion

:ERRNoIniciaGuardian
echo !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! >> copia_%nombre%_%weekday_%.log
echo ************************************************************ >> copia_%nombre%_%weekday_%.log
echo ERROR : No se pudo iniciar el servicio Firebird Guardian >> copia_%nombre%_%weekday_%.log
echo ************************************************************ >> copia_%nombre%_%weekday_%.log
echo !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! >> copia_%nombre%_%weekday_%.log
goto FinOptimizacion

:ERRBackup
echo !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! >> copia_%nombre%_%weekday_%.log
echo ************************************************************ >> copia_%nombre%_%weekday_%.log
echo ERROR : No se pudo hacer el backup >> copia_%nombre%_%weekday_%.log
echo ************************************************************ >> copia_%nombre%_%weekday_%.log
echo !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! >> copia_%nombre%_%weekday_%.log
goto FinOptimizacion

:ERRRestore
echo !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! >> copia_%nombre%_%weekday_%.log
echo ************************************************************ >> copia_%nombre%_%weekday_%.log
echo ERROR : No se pudo hacer el restore >> copia_%nombre%_%weekday_%.log
Echo Restaura la base de antes de optimizar >> copia_%nombre%_%weekday_%.log
echo ************************************************************ >> copia_%nombre%_%weekday_%.log
echo !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! >> copia_%nombre%_%weekday_%.log
copy %destino%%nombreBD%.OPTIMIZACION %origen%%nombreBD%.fdb /y > errout.tmp
goto ACTIVAR_BASE

:ERRNoActivaBD
echo !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! >> copia_%nombre%_%weekday_%.log
echo ************************************************************ >> copia_%nombre%_%weekday_%.log
echo ERROR : No se pudo Activar la Base de Datos >> copia_%nombre%_%weekday_%.log
echo ************************************************************ >> copia_%nombre%_%weekday_%.log
echo !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! >> copia_%nombre%_%weekday_%.log
goto FinOptimizacion

:FinOptimizacion

if "%defragmentar%"=="NO" goto FinDefragmentar
   echo %date% %time% - Desfragmentando 
   echo Desfragmentando unidad %SystemDrive%... >> copia_%nombre%_%weekday_%.log
   echo -------------------------------------------------------------------------------- >> copia_%nombre%_%weekday_%.log
   %windir%\system32\defrag.exe %SystemDrive% -f > %destino%defrag_SD_%nombre%_%weekday_%.log
   type %destino%defrag_SD_%nombre%_%weekday_%.log >> copia_%nombre%_%weekday_%.log

   Rem comprombamos si la unidad con datos es la misma, y si no tambien se desfragmenta
   CD > errout.tmp
   for /f "tokens=1 delims=\" %%i in (errout.tmp) do if not "%%i"=="%SystemDrive%" echo Desfragmentando tambien unidad:%%i... >> copia_%nombre%_%weekday_%.log
   echo -------------------------------------------------------------------------------- >> copia_%nombre%_%weekday_%.log

   for /f "tokens=1 delims=\" %%i in (errout.tmp) do if not "%%i"=="%SystemDrive%" %windir%\system32\defrag.exe %%i -f > %destino%defrag_DD_%nombre%_%weekday_%.log
   type %destino%defrag_DD_%nombre%_%weekday_%.log >> copia_%nombre%_%weekday_%.log
:FinDefragmentar

echo %date% %time% - Limpieza
echo Limpieza >> copia_%nombre%_%weekday_%.log
echo -------------------------------------------------------------------------------- >> copia_%nombre%_%weekday_%.log

echo ******************************************************************************** >> copia_%nombre%_%weekday_%.log
echo Finalizada copia de seguridad %nombre% - %weekday_% >> copia_%nombre%_%weekday_%.log
echo %date% %time%  >> copia_%nombre%_%weekday_%.log
echo ******************************************************************************** >> copia_%nombre%_%weekday_%.log
echo .  >> copia_%nombre%_%weekday_%.log
echo .  >> copia_%nombre%_%weekday_%.log
echo .  >> copia_%nombre%_%weekday_%.log

type copia_%nombre%_%weekday_%.log >> copia.log
if exist N_CR.tmp del N_CR.tmp
if exist vacio.tmp del vacio.tmp
if exist errout.tmp del errout.tmp
if exist ftp_%nombre%_%weekday_%.txt del ftp_%nombre%_%weekday_%.txt
if exist ftp_%nombre%_%weekday_%.log del ftp_%nombre%_%weekday_%.log
if exist copia_%nombre%_%weekday_%.log del copia_%nombre%_%weekday_%.log
Responder Con Cita
  #6  
Antiguo 03-10-2007
Avatar de duilioisola
[duilioisola] duilioisola is offline
Miembro Premium
 
Registrado: ago 2007
Ubicación: Barcelona, España
Posts: 1.734
Poder: 20
duilioisola Es un diamante en brutoduilioisola Es un diamante en brutoduilioisola Es un diamante en bruto
No me funciona el NET STOP fbserver.
Código:
C:\>NET STOP fbserver
Error de sistema 1060.
El servicio especificado no existe como servicio instalado.

C:\>NET STOP fbguard
Error de sistema 1060.
El servicio especificado no existe como servicio instalado.
Probé con fbserver, fbguard, fbserver.exe y fbguard.exe (y tambien en mayúsculas)
Tengo el Firebird 1.5 Server instalado como servicio.

y ya que estamos...
¿cómo se puede ver una lista de los nombre de los servicios?
Responder Con Cita
  #7  
Antiguo 03-10-2007
pcicom pcicom is offline
Miembro
 
Registrado: may 2003
Ubicación: MONTERREY MEXICO
Posts: 253
Poder: 21
pcicom Va por buen camino
debe se ser como sigue:

Si lo tienes como SERVICIO
NET STOP "Firebird Server - DefaultInstance"

Si lo tienes con el Guardian
NET STOP "Firebird Guardian -Default Instance"


Y para INICIARLOS

Si lo tienes como servicio
NET START "Firebird Server - DefaultInstance"

Si lo tienes como Guardian.
NET START "Firebird Guardian - DefaultInstance"



Y Listo...


De echo el comando NET START / NET STOP detiene cualquier servicio de WINDOWS siempre y cuando no sean del sistema, y puedes usarlo como tu quieras...

La ventaja que le veo a este METODO de detener el servicio, es la simplesa, ya que no requiere comandos complejos, simplemente cambiar los datos de tu .bat y Listo


SALUDOS..
__________________
Poco ha de saber el que no pregunta.. Yo por eso soy un pregunton
Responder Con Cita
  #8  
Antiguo 04-10-2007
pvizcay pvizcay is offline
Miembro
 
Registrado: jun 2006
Posts: 147
Poder: 18
pvizcay Va por buen camino
si firebird tiene un programa de backup en caliente porque todo el mundo insiste en parar el servidor... vamos que no es tán dificil de usar..

=)
Responder Con Cita
  #9  
Antiguo 04-10-2007
gescoto99 gescoto99 is offline
Miembro
 
Registrado: mar 2004
Ubicación: mexico
Posts: 45
Poder: 0
gescoto99 Va por buen camino
Graci por los mensajes

Hola, lo de parar el servidor tiene una razon.
Mi cliente me indica que su software de respaldos valida que no este ejecutandose ningun proceso.
Esa es la razon.

Saludos
Responder Con Cita
  #10  
Antiguo 04-10-2007
Gabriel Gabriel is offline
Miembro
 
Registrado: may 2003
Ubicación: PalauTordera
Posts: 115
Poder: 22
Gabriel Va por buen camino
BacKups

Opino, humildemente que no hay que parar el servidor, Firebird realiza backups en caliente, de la ultima transacción aceptada, y en el directorio o disco que le indiques.

En ese respaldo, no se ejecuta ningún proceso, ja que es un simple fichero.
En cualquier sistema operativo, siempre se estan ejecutando procesos.

Las cintas de backups, no realizan copias de ficheros abiertos, la base de datos firebird, puede o no estar levantada, dependiendo de que algun usuario este accediendo.
Pero lo que seguro, no esta abierta es la copia de seguridad.
Puedes realizar cualquier utilidad de GBack, incluso programarte ( jo lo tengo asi ) un pequeño ejecutable, con los IBX o MDO, i desde programador de tareas de Windows, programo las veces que quiero arrancar ese ejecutable, que me realiza la copia.

Tengo respaldo de la base de datos, las veces que se me antoje al cabo del dia.
Si a la noche una cinta, me recoje los backup.

Pues casi a prueba de bombas.
Bueno eso creo

Saludos
__________________
Gabriel
Responder Con Cita
  #11  
Antiguo 04-10-2007
Avatar de duilioisola
[duilioisola] duilioisola is offline
Miembro Premium
 
Registrado: ago 2007
Ubicación: Barcelona, España
Posts: 1.734
Poder: 20
duilioisola Es un diamante en brutoduilioisola Es un diamante en brutoduilioisola Es un diamante en bruto
Con respecto a ese sotware de respaldos
1. No me gusta.
2. Quizás sea configurable y se le pueda decir que pase por alto los procesos de Firebird
3. Solo debería hacer copia del backup. Hacer copia de la base no garantiza que se pueda usar posteriormente.
Responder Con Cita
  #12  
Antiguo 04-02-2008
Avatar de laukri
laukri laukri is offline
Miembro
 
Registrado: dic 2007
Posts: 38
Poder: 0
laukri Va por buen camino
Cita:
Empezado por pcicom Ver Mensaje
puedes hacer un .bat

echo RESPALDANDO Firebird Server
NET STOP "Firebird Server - DafaultInstance"
COPY c:\direcorio\base.fdb c:\Respaldos\
NET START "Firebird Server - DafaultInstance"


Siempre y cuando lo tengas funcionando como un SERVICIO de Windows..

Si utilizas el Guardian seria asi:

echo RESPALDANDO Firebird Guardian
NET STOP "Firebird Guardian - DafaultInstance"
COPY c:\direcorio\base.fdb c:\Respaldos\
NET START "Firebird Guardian - DafaultInstance"
hola! probe parar el servidor con la instruccion NET STOP, funciona pero luego no puedo hacer el backup porq me dice que la base de datos no esta disponible...como puedo hacer para parar el servidor y luego hacer un backup con GBAK?
Responder Con Cita
  #13  
Antiguo 04-02-2008
Avatar de Lepe
[Lepe] Lepe is offline
Miembro Premium
 
Registrado: may 2003
Posts: 7.424
Poder: 29
Lepe Va por buen camino
Se han mezclado dos técnicas y hay que aclarar ambas.

1- pcicom en su primer mensaje:Copiar el fichero de la base de datos.
Como ya han dicho, no garantiza que después se pueda acceder. Se trata de parar el servicio, copiar el archivo fdb y después poner en marcha el servicio
2- Gabriel: Realizar Backup propiamente dicho.
Usar Gbak creando un fichero *.FBK Si el cliente pide que se pare el servicio, tendrás que lanzar el gbak y cuando termine, entonces parar el servicio Firebird. Y cuando quieras volver a arrancarlo. Realmente no es necesario parar el servicio Firebird.
Es importante no mezclar las dos técnicas, porque si paras el servicio de Firebird, ¡¡nadie podrá conectarse a ninguna base de datos Firebird en ese ordenador!! y eso incluye a la utilidad gbak, gfix, tu programa Delphi, etc.

Saludos
__________________
Si usted entendió mi comentario, contácteme y gustosamente,
se lo volveré a explicar hasta que no lo entienda, Gracias.

Última edición por Lepe fecha: 04-02-2008 a las 17:08:48.
Responder Con Cita
  #14  
Antiguo 04-02-2008
Gabriel Gabriel is offline
Miembro
 
Registrado: may 2003
Ubicación: PalauTordera
Posts: 115
Poder: 22
Gabriel Va por buen camino
Respaldos Firebird

Hola
Como comente antes

Llevo años realizando copias de seguridad con GBack, sin parar el servicio Firebrid.

He tenido que recuperar, algunas, (no demasiadas, Firebrid es demasiado bueno) solamente un par por caidas de rallos. Recuperar copia (echa en caliente) i listo a trabajar de nuevo.

Como comente tambien, tengo un ejecutable echo con IBX, para ir mas rapido i no tener que teclear. Por cierto, desde la version Interbase 6.0 i luego Firebird 1, sin problemas.

Asegurado No hay que parar el servicio.
Por cierto para recuperar una copia, tiene que estar el servicio levantado, pero ningun usuario conectado.

Saludos
__________________
Gabriel
Responder Con Cita
  #15  
Antiguo 05-02-2008
Avatar de laukri
laukri laukri is offline
Miembro
 
Registrado: dic 2007
Posts: 38
Poder: 0
laukri Va por buen camino
Cita:
Empezado por Gabriel Ver Mensaje
Por cierto para recuperar una copia, tiene que estar el servicio levantado, pero ningun usuario conectado.

Saludos
Hay algun comando que desconecte a todos los usuarios o que suspenda el servicio parcialmente (para que solo se pueda usar el gbak) o algo asi?
Responder Con Cita
  #16  
Antiguo 05-02-2008
Gabriel Gabriel is offline
Miembro
 
Registrado: may 2003
Ubicación: PalauTordera
Posts: 115
Poder: 22
Gabriel Va por buen camino
Restaurar Base de Datos

Creo, que si, pero ahora mismo lo desconozco.

Jo, lo que hago, es desconectar el servidor de la red y recuperar la copia.

Pero como te comente antes, Firebird, falla muy poco.
En años, creo que he tenido que recuperar 2 o 3 copias, por rayos e incluso una vez, por que llenaron el disco, donde estaba la base de datos.
Pero, el que te comento, que he tenido que recuperar un par de copias, lo tengo montado, en mas de 70 ordenadors.
mas o menos cada 20 atacan a un servidor diferente.
Tengo una utilidad, que la activo, con el programador de tareas de windows, y me hace un par de copias diarias.
__________________
Gabriel
Responder Con Cita
  #17  
Antiguo 06-02-2008
Avatar de Lepe
[Lepe] Lepe is offline
Miembro Premium
 
Registrado: may 2003
Posts: 7.424
Poder: 29
Lepe Va por buen camino
Podrías usar mensajes.

Cuando entras para realizar una tarea, ejecutas un procedimiento almacenado que tiene un "post_event 'Salir-Usuarios' ". Todos los usuarios que estan conectados a la base de datos, reciben ese evento, (tu aplicación usará un TIBEvents para detectarlo), y pones en marcha una cuenta atrás para cerrar tu aplicación.

A veces los usuarios se van a tomar café y dejan el equipo encendido, así puedes cerrar por código Delphi la conexión al servidor y la base de datos.

Si paras el servicio, tendrás que adaptar tu aplicación para capturar ese error y sustituir el mensaje "Database unavailable" por "Se está realizando un mantenimiento en la base de datos".

Si quieres hacer un gbak en caliente, podrías crear un archivo en el servidor (si tienes permisos) "HaciendoMantenimiento.txt" y tu aplicación detectar si existe. Cuando termines el gbak, borras ese archivo para que todos puedan entrar de nuevo.

Saludos
__________________
Si usted entendió mi comentario, contácteme y gustosamente,
se lo volveré a explicar hasta que no lo entienda, Gracias.

Última edición por Lepe fecha: 06-02-2008 a las 10:19:15.
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
respaldo de datos de una BD mysql desde delphi pollo_c MySQL 3 09-03-2007 08:22:09
respaldo base de datos mysql - delphi didier MySQL 2 30-09-2006 08:48:49
respaldo base de datos mysql - delphi didier SQL 1 08-08-2006 18:15:04
respaldo de base de datos con delphi 2.0 marylobita Conexión con bases de datos 2 04-05-2006 19:43:38
Restaurar base de datos (respaldo) con Delphi Delphiboy MS SQL Server 2 28-09-2005 15:46:28


La franja horaria es GMT +2. Ahora son las 09:27:13.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi