Hola Christian. Lo iba a publicar en el blog pero mejor de una vez te lo paso.
Para hacer un respaldo haces algo como esto (estoy editando el mio porque uso otras cosas que no vienen al caso):
'YAcosta: 04/02/2011
Dim RetVal
Dim RutaBD As String 'Ruta de la base de datos
Dim RutaFB As String 'Ruta del archivo gbak que hace el respaldo (FB= Firebird)
Dim RutaBK As String 'Ruta donde aparecera el backup
RutaBD = "C:\MIBD\BD.FDB"
RutaFB = "C:\Archivos de Programa\Firebird\Firebird_2_1\BIN\gbak.EXE"
RutaBK = "C:\MIBD\BACKUP\"
Cadena = RutaFB & " -v -t -user SYSDBA -password masterkey " & RutaBD & " " & RutaBK & "RESPALDO.FBK"
RetVal = Shell(Cadena, 0) 'Este es el que ejecuta el backup, le pongo 0 para que no me salga la ventana cmd
Y para restaurar:
'YAcosta: 04/02/2011
Dim RetVal
Dim RutaFB As String
Dim RutaBK As String
RutaFB = "C:\Archivos de Programa\Firebird\Firebird_2_1\BIN\gbak.EXE"
RutaBK = "C:\MIBD\BACKUP\"
Cadena = RutaFB & " -c -v -user SYSDBA -password masterkey " & RutaBK & "RESPALDO.FBK " & "C:\MIBD\BD_RESTAURADO.FDB"
RetVal = Shell(Cadena, 0)
Lo de dos archivos no te entendí.
El código de respaldo lo puedes hacer en caliente, sin hacer que nadie cierre el sistema, en un cliente tengo haciendo respaldo todos los días a una misma hora de forma automática, el asunto esta en que esto lo ejecuto en el mismo server, hacer respaldo remoto me podría saturar la linea o correrme el riesgo de que esta se corte a mitad del respaldo ya que la base de datos pero 450 megas y el archivo respaldo toma un tiempo en crearse y hacerlo remoto se dañaria el backup si se corta la señal por X razones. Quizá lo podrías intentar cuando la BD es pequeña porque el archivo de respaldo siempre sera de mucho menor peso, cuando ya es grande reconsideralo.
En otro cliente igual ejecuto el respaldo en el server pero con un programa tercero que no tiene nada que ver con Firebird hago que se envíe una copia del respaldo por WAN y así no arriesgo nada. El programa tercero que uso se llama SyncBack Pro 5 y es un programa con el que puedes programar copias de ficheros, hay muchos similares.
Para la restauración si habría que hacer detener todas las aplicaciones conectadas.
Espero te sirva, saludos