Buenas tardes compañeros,
Me gustaría poder realizar copias de seguridad de mi sistema en la nube. Muchas gracias de antemano!
*********************************
//REALIZA LA COPIA DE SEGURIDAD
*********************************
Function copiaseguridad()
local oCn
Local cRutaSql := ".\copias\"
Local cNombSql := alltrim(oLamcla:vGnit) + "_" + DTOS(DATE()) + "_" + SUBSTR(TIME(),1,2) +;
SUBSTR(TIME(),4,2) + SUBSTR(TIME(),7,2) + ".Sql"
Local cRutFina := cRutaSql+cNombSql
Local documento := {=>}
Local cbCopia := <||
verificaTablasCopias(oCnEmp)
//ACTUALIZAMOS LA FECHA DE LA ULTIMA COPIA EN LA BASE DE DATOS
oSlq:= TCad():New(oLamcla:tEmpr,oCnEmp)
oSlq:Campos("e_ultima_copia",dtos(date()))
oSlq:Condicion("e_codi",oLamcla:vGcod,"")
oSlq:Actualiza()
oSlq:=nil
//LEEMOS EL ARCHIVO PLANO PARA ENVIARLO AL SERVIDOR
cText := MemoRead( cRutFina )
//ENVIAMOS LA COPIA DE SEGURIDAD AL SERVIDOR
tercero := alltrim(oLamcla:vGnit)
pass := "TuClave" //TEMPORAL
cBas64 := hb_base64encode(tercero+":"+pass,len(tercero+":"+pass))
//DATOS PARA REGISTRO EN LA BASE DE DATOS
documento["tercero"] := tercero
documento["nombre_sql"] := cNombSql
documento["sql"] := cText
documento["sucursal"] := oLamcla:nEmpSucu
enviar := hb_jsonEncode( documento )
ohttp := CreateObject( "MSXML2.XMLHTTP" )
ohttp:Open( "POST" ,"http://tudominio.com/dondeguardamos",.F.)
oHttp:SetRequestHeader("cache-control", "no-cache")
ohttp:SetRequestHeader("content-type", "application/json" )
ohttp:SetRequestHeader("authorization", "Basic "+cBas64 )
TRY
ohttp:Send( enviar )
CATCH
msginfo("No Se Pudo Enviar Archivo ","Intente Nuevamente")
return .t.
END
response:=ohttp:responseText
aHasRes := hash()
hb_jsondecode(response ,@aHasRes)
if aHasRes["copia_confirma"]
//ACTUALIZAMOS LA FECHA DE LA ULTIMA COPIA EN LA BASE DE DATOS
oSlq:= TCad():New(oLamcla:tEmpr,oCnEmp)
oSlq:Campos("e_ultima_nube",dtos(date()))
oSlq:Condicion("e_codi",oLamcla:vGcod,"")
oSlq:Actualiza()
oSlq:=nil
MsgInfo("Proceso Completado Correctamente - Archivo Guardado "+cRutFina,"Confirma")
else
MsgInfo("Proceso NO pudo ser completado ","Error Datos")
endif
>
oCn := maria_Connect( alltrim(oLamcla:cHost),alltrim(oLamcla:cEmpDBda),alltrim(oLamcla:cUsuario),;
alltrim(oLamcla:cPassword) )
if oCn == nil
msginfo( "No se pudo comprobar la conexión con la base de datos"+CRLF+;
"Por favor revise la ip en la configuración de la conexión","Error Conexión")
else
MYSQL_CRYPTKEY( alltrim(oLamcla:cPassword) )
oCn:BackUp( nil , cRutFina )
MYSQL_CRYPTKEY( nil )
oCn:close()
MsgRun("Procesando Información...","Creando Archivo",{||CursorWait(),WaitRun(eval(cbCopia), 0 )})
endif
Return nil
Return to FiveWin para Harbour/xHarbour
Users browsing this forum: Google [Bot], wilsongamboa and 30 guests