Kapcsolódó információk:
Paraméterezési útmutatók

Kapcsolódó témakör: Adatbázisok mentése - visszatöltése

Az adatbázisok automatikus mentését egy JAVA-ban fejlesztett alkalmazás biztosítja. A JAVA platform lehetővé teszi, hogy a szolgáltatás Windows és Linux környezetben is használható legyen. Az üzemeltetéshez JRE 1.8 futtatási környezet szükséges, mely Windows környezethez ingyenesen letölthető az Oracle weboldaláról 32 és 64 bites verzióban is.

Telepítés

Ez a dokumentáció a telepítés lépéseit írja le teljes részletességgel. A verziófrissítéssel a QsBackupFdbService modul frissítése témakörben található információ.

A működéshez szükséges a QsBackupFdbService.zip telepítőcsomagon kívül:

  • Java Runtime Environment - JRE 1.8
  • Firebird SQL kliens
  • 7zip konzol utility - Windows esetén a <SupHome>\UTIL könyvtárban található, Linux esetén csomagból javasolt telepíteni.
 Figyelem

A 64 bites Windows esetén előfordulhat, hogy a programot alkalmazásként futtatva tökéletesen működik, service-ként azonban nem települ. Ez esetben csak 32 bites JRE van telepítve a 64 bites Windows-on. Telepíteni kell a JRE 64 bites változatát.

A szolgáltatást arra a gépre célszerű telepíteni, ahol a SUP® Integrált Számviteli Rendszer elindulásához, és működéséhez szükséges SUP.INI file fizikailag található, Más szóval arra a gépre, ahol a <SupHome> könyvtár van. Ezen lehet Windows vagy Linux operációs rendszer. A telepítő készlet ZIP formátumban érhető el, melyet ki kell csomagolni a futtatási könyvtárba. A ZIP file lehetőség szerint NE legyen elhelyezve ugyanabban a könyvtárban, mint a futtatandó és a konfigurációs állomány.
A működtetéséhez szükséges file-okat a <SupHome>\LIB könyvtárba célszerű elhelyezni. Az alkalmazást a QsBackupFdbService.jar file tartalmazza. A működési paramétereket a QsBackupFdbService.ini file-ban kell beállítani. Emellett néhány további .BAT file is található a telepítő készletben, mely elsősorban a Windows környezetben történő működtetéshez ad segítséget.

A működéshez szükséges a Firebird SQL kliens, ill. ennek a GBAK utility modulja. A mentett file-ok tömörítéséhez szükséges 7ZIP program Windows verziója a telepítő készlet része, Linux alatt pedig a csomagkezelőből kell feltenni.

 Megjegyzés

Az újabb verziók kiadása nem külön frissítő csomagban történik, ugyanezt a telepítő csomagot kell használni. A verzófrissítéskor a QsBackupFdbService.zip file-t egy munkakönyvtárba kell kicsomagolni, majd a a QsBackupFdbService.jar file-t a <SupHome>\LIB könyvtárba át kell másolni. Az új verzió megfelelő helyre történő másolása után a szolgáltatás újraindítása szükséges.

Paraméterek beállítása

A telepítés során létrehozott <SupHome>\LIB\QsBackupFdbService.ini.default file-t át kell nevezni QsBackupFdbService.ini-re. Az ebben levő paraméterek vezérlik a szolgáltatás működését. Az alapvető paramétereket az indulásakor olvassa fel, és a változásuk esetén a szolgáltatás újraindítása szükséges. A paraméterek másik csoportja minden egyes időzített futtatáskor újraolvasásra kerül, így ezek a szolgáltatás újraindítása nélkül megváltoztathatók. 

A legfontosabb indítási paraméter, a [Startup] szekció SysIniPath bejegyzése, mely a mentés indításához szükséges adatbázis kapcsolódást írja le.

 Figyelem

A SUP.INI file [SysData] szekciójban, a SysDataGDB kulcson csak regisztrált szerverneves hivatkozás használható! A régi natív hivatkozás használata esetén a program hibát jelez!

 

A [Backup] szekcióban kell beállítani a futáshoz szükséges GBAK és 7ZIP konzol utility elérhetőséget. Továbbá itt kell beállítani az ütemezést, valamint a notifikációs e-mailek küldési paramétereit is!

ParaméterExchangeZimbraEximGmail
SMTPHost=
SMTPPort=
SMTPUser=
SMTPPwd=
SMTPAuth=none
smtp.sajat.hu
25 / 465
felado
pwd
none
smtp.gmail.com
25 / 465
felado
pwd
tls
smtp.belso.hu
25
felado 

none
smtp.gmail.com
587
felado@gmail.com
pwd
starttls

 

 

A telepítőben található eredeti konfigurációs állomány
; QsBackupFdbService Copyright QSoft Kft. 2013
; --------------------------------------------
;
; A file neve kötelezően: QsBackupFdbService.ini

; Ez a fájl tartalmazza a szolgáltatás indítási és működési paramétereit.
;
; A konfigurációs file két szekcióra van bontva: [Startup] és [Backup]
; A [Startup] szekció csak egyszer töltődik be, a alkalmazás/szolgáltatás indításánál.
; A [Startup] szekció kritikus fontosságú, tehát ha bármely paraméter hiányzik vagy hibás, fatális hiba keletkezik.
;
; A [Backup] szekció minden alkalommal betöltődik, a mentés indulása előtt (napi 1x).
; A [Backup] szekció ütemezést paraméterező kulcsait, az ütemezett napokat, illetve ütemezett időt 
; a program folymatosan figyeli.
; A [Backup] konfiguráció is adhat hibákat, de ezek nem fogják leállítani a programot/szolgáltatást.
; Ez esetben a LOG fájlokat kell megvizsgálni, főleg startupnál, hogy megbizonyosodjunk abban
; hogy minden lényeges paraméter megfelelően lett megadva.
; ----------------------------------------------------------------------------------------------------------------


; Az induláshoz szükséges paraméterek. Változtatás esetén a szolgáltatás újraindítása szükséges!
[Startup]
; A SUP renszerindítási könyvtára. Itt található a SUP.INI és SERVERS.INI konfigurációs file.
;     Pl.: 
;           Windows op. rendszer:  C:\Qsoft\SUP\SysData 
;           Linux op. rendszer:    /usr/local/qsoft/SysData
SysIniPath=C:\QSoft\SUP\SysData


; A szolgáltatás képes egy egyszerű http alapú webszolgáltatást biztosítani html formátumban futás közben.
; Itt lehet megadni a portot, amin elérhető/hosztolható a webszolgáltatás.
;   -1 esetén ki van kapcsolva, javasolt az 1024 fölötti portok használata.
; Ha be van kapcsolva, weben keresztül monitorozható az alkalmazás. Pl.: supserver:8080
; A portot a tüzfalon engedélyezni kell!
; A SUP rendszerben javasolt bekapcsolni a szolgáltatás muködésének figyelését, a
; "Szerviz | Technikai funkciók | Rendszerinformációk" menüpontban, ahol a [Mentés paraméterei] adatlapon 
; be kell állítani a QsBackupFdbService szolgáltatás elérhetoséget. 
; A SUP kliens rendszeresen ellenorzi a szolgáltatás állapotát, és hibát jelez, ha a szolgáltatás leállt.
;  DEFAULT = 8080
;WebservicePort=8080


; A szolgáltatás kihagyja-e az első napot indításnál, vagy ne
;  DEFAULT = False
;ServiceSkipFirstDay=False


; Az INI file ütemezési bejegyséseinek vizsgálati gyakorisága (milliseconds)
; Ennyit vár a szolgáltatás 2 vizsgálat között.
;     Alap példa: A szolgáltatás megvizsgálja az .INI fájlt 30 percente, hátha változott az ütemezett 
;                   napok vagy idő értéke,
;    ha igen, frissíti a saját értékeit. Ez lehetové teszi hogy a szolgáltatást kézzel napi több 
;       alkalommal is lehet futtatni.
;  DEFAULT = 30 * 60 * 1000 = 1800000 (30 minutes)
;  A teszteléshez célszerű ennél gyakoribb beállítást használni. Pl.: 5000 (5 sec)
;ServiceInitimeCheckInterval=5000


; A gyakoriság amivel a szolgáltatás az időpontot vizsgálja (elértük-e már az ütemezett idot) (milliseconds)
;  DEFAULT = 5 * 1000 = 5000 (5 seconds)
;ServiceScheduledCheckInterval=5000


; Az időmennyiség, amennyivel a szolgáltatás késésben lehet az ütemezett backup elvégzésével (seconds) - avagy ha ennyit vagy kevesebbet késik, még lefuthat aznap
; Ha ez az érték -1, a szolgáltatás végtelen idot késhet, mindenképpen le fog futni aznap
;    Alap példa: A szolgáltatásnak 11:20-kor kellett volna elvégeznie az ütemezett backupot, de egyéb hatások miatt
;    (rendszer fennakadás, alacsony prioritás, stb..) késobb vizsgálja az ütemezett idopontot, pl. 11:23-kor, ettol függetlenül
;    a szolgáltatás még elvégezheti a backupot, mivel 5 perc késésen belül van
;  DEFAULT = 60 * 60 = 3600 (60 minutes)
;ServiceScheduledCheckMaxlate=300
; ----------------------------------------------------------------------------------------------------------------

; Adatbázis mentés paraméterei
[Backup]
; Ütemezés paraméterei
;   Mely napokon mentse az aktív állapotú cégeket.
;    Formátum: MON, TUE, WED, THU, FRI, SAT, SUN
ScheduledWeekDaysAct=MON, TUE, WED, THU, FRI

; Mely napokon mentse az archív állapotú cégeket.
ScheduledWeekDaysArc=SAT

; Futtatás időpontja. Pl.: 22:00 ( http://en.wikipedia.org/wiki/ISO_8601 )
; Időzítés nélküli futtatásra nincs lehetőség.
ScheduledTime=23:00:00

; A szükséges utility és path beállítások
;  A tömörített mentések helye. Ide készülnek a mentések. 
;  A mentéseket erősen ajánlott NEM ugyanarra a lemezre készíteni,
;  mint ahol a mentendő adatbázis file-ok (FDB) vannak!
;      Pl. 
;           Windows op. rendszer:   C:\Qsoft\Mentes 
;           Linux op. rendszer:     /usr/local/qsoft/mentes
BackupPath=C:\QSoft\Mentes


;  A Firebird SQL  GBAK utility elérhetösége. 
;      Pl. 
;           Windows op. rendszer:   C:\Program Files\Firebird25\BIN\GBAK.exe 
;           Linux op. rendszer:     /usr/bin/gbak
GbakExe=C:\Program Files\Firebird25\bin\gbak.exe


;  A tömörítéshez szükséges 7ZIP archiver elérhetősége. 
;      Pl. 
;           Windows op. rendszer:   C:\Qsoft\SUP\UTIL\7ZA.EXE
;           Linux op. rendszer:     /usr/lib/p7zip/7zr
ArchiverExe=C:\QSoft\SUP\UTIL\7ZA.EXE


; Notifikációs paraméterek
; Adminisztrátor e-mail címe. Ide kerül elküldésre minden esemény,
; és a futási LOG. Minden futási napon egy darab e-mail.
; Vesszővel felsorolva több cím is megadható.
EmailToAdmin=admin@sajatdomain.hu

; Csak abban az esteben küld e-mailt, és a LOG-ot, ha a futás során 
; hiba keletkezik.
; Vesszővel felsorolva több cím is megadható.
EmailToError=admin@sajatdomain.hu

; Levelező szerver adatai az értesítok küldéséhez.
;   SmtpHost: Üres HOST esetén nem küld értesítést
;   SmptPort: default: 25, secure: 465, gmail: 587
;   SmtpUser, SmtpPwd üres esetén [none], vagyis nincs autentikáció 
;   SmtpAuth: none, starttls, tls, ssl
SMTPHost=smtp.sajatdomain.hu
SMTPPort=25
SMTPUser=
SMTPPwd=
SMTPAuth=none

 

Működés tesztelése alkalmazásként

A paraméterek beállítása után célszerű ellenőrizni a működést még alkalmazás módban, és csak a sikeres teszt után véglegesíteni service-ként. Mivel ez egy konzolalkalmazás, parancssorból a JAVA -jar QsBackupFdbService.jar parancs kiadásával lehet indítani. A futás során keletkező információkat a konzolra, ill. az aktuálisan futtatott JAR file alá létrehozott .\LOG könyvtárban létrehozott naplózó file-okba írja.

A tesztfutás során a [Backup] szekcióban  ScheduledTime beállítással kell időzítést beállítani a jelenlegi rendszeridőnél egy-két  perccel későbbre. Amikor az ütemezett időpont bekövetkezik, a konzolon, ill. a <SupHome>\LIB\LOG könyvtárban keletkező file-okban ellenőrizhető a futás eredménye.

Nagy adatbázis, vagy sok könyvelt cég mentése során hasznos lehet a ScheduledWeekDaysAct kulcsra beírható 'TEST' kulcsszó, mely az ütemezésbe csak a Sysdata adatbázist veszi bele, és hamar eljut a notifikációs levél küldéséhez.

A normál működés, ill. a futás során keletkezett hibák külön napló file-ba kerülnek. Ezek elküldése külön kérhető.

Szolgáltatás indítása - Windows környezet

Az alkalmazás módú sikeres tesztelés után kerül sor a Windows service-ként történő telepítésre. Ezt az srv_install.bat file indításával lehet kezdeményezni. A szolgáltatás telepítése előtt a file tartalma szintén átszerkesztendő, az aktuális működési környezetre adaptálva. További információ a file kommentekben. A JAR file Windows szolgáltatásként történő indításához szükséges a telepítő csomag részeként megtalálható PRUNSRV.EXE.

 Figyelem

A szolgáltatás telepítéshez adminisztrátori jogosultság szükséges. A telepítő nem indítja el a szolgáltatást. Ezt a SERVICES.MSC futtatásával, lehet kezdeményezni. A szolgáltatások listájában meg kell keresni a QsBackupFdbService bejegyzést, és el kell indítani a szolgáltatást.
A telepítő csomag részeként a PRUNSRV.EXE 32 bites változata van mellékleve, amihez 32 bites JRE szükséges. A 64 bites változat külön tölthető le. Sajnos külön verzió van az Intel és AMD processzorokra.

 Javaslat

Előfordulhat, hogy az a QsBackupFdbService szolgáltatás telepítése mégsem azon a szerveren szükséges, ahol a SUP.INI file fizikailag található, pl. van külön backup server. Ebben az esetben valószínűleg alkalmazás módú futtatáskor el lehet érni a SUP.INI-t tartalmazó távoli könyvtárat, szolgáltatás módban azonban valószínűleg nem lesz elérhető. Ez a probléma úgy jelentkezik, hogy a szolgáltatás elindul, majd rögtön le is áll. Megoldás lehet, hogy a szolgáltatás-kezelőben, az adott szolgáltatás általános adatlapját megtekintve, át kell váltani a [Bejelentkezés] adatlapra, és be kell állítani, hogy melyik felhasználói fiók jogán fusson a mentés.

 Megjegyzés

Kettős licence telepítés esetén a szolgáltatás több példányban is indítható. Ehhez egyedi srv_install.bat file szerkesztés szükséges. A kettős licence telepítéshez hasonlóan a szolgáltatás nevét ki kell egészíteni a kettős licence azonosításánál használt utótagokkal.
Két hely kell beavatkozni: az egyik a //IS kapcsoló után, a másik a Displayname= paraméter.

 Figyelem

A SUP-ban a Szerviz | Könyvelt cég menüpontban a Figyelmeztetés adatbázis mentésre paramétert fel kell kapcsolni!!!
 

Szolgáltatás indítása - Linux környezet

Az alkalmazás módú sikeres tesztelés után kerül sor a Linux daemon-ként történő telepítésre. A szolgáltatás elindítását a rendszer betöltésének folyamatában érdemes megtenni. Mivel a szolgáltatások telepítése disztribúciónként egyedi lehet, és a rendszer felépítése cégenként változhat, ezért Linux környezetben csak ajánlásokat tehetünk.

Debian alapú környezetben az /etc/init.d könyvtár alá kell bemásolni a QsBackupFdbService.sh állományt, majd ezt kell regisztrálni, mint szolgáltatást. A QsBackupFdbService.sh állomány tartalmazza azt az útvonalat, ahol megtalálható a QsBackupFdbService.jar állomány. Alapértelmezetten a /usr/local/qsoft/lib útvonal van megadva, de ez tetszőlegesen átírható, szerkeszthető. A QsBackupFdbService.jar állomány mellett kell helyet kapjon a QsBackupFdbService.ini konfigurációs állomány, amelyben további információ található a működési környezet beállítására.

A Linux környezethez szükséges csomagokat nem tartalmazza a QsBackupFdbService.zip telepítő készlet, mivel ezek disztribúció, és verziófüggőek. Ezért a csomagokat külön kell letölteni, és telepíteni.
Debian alapú rendszereken - amennyiben elérhető - az alábbi csomagok telepítése szükséges:

  • Java telepítéséhez: apt-get install openjdk-7-jre
  • 7Zip telepítése: apt-get install p7zip
  • Szolgáltatás felvétele: update-rc.d QsBackupFdbService.sh start 20 2 3 4 5 . stop 20 0 1 6 .

Szolgáltatás működésének figyelése

A SUP® rendszerben a Szerviz | Technikai funkciók | Rendszerinformációk menüpontban, a Mentés paraméterei adatlapon be kell állítani a QsBackupFdbService szolgáltatás elérhetőséget. A SUP kliens rendszeresen ellenőrzi a szolgáltatás állapotát, és hibát jelez, ha leállt.

A szolgáltatás ellenőrzése nemcsak a SUP® Integrált Számviteli Rendszerben, hanem egy böngésző segítségével is ellenőrizhető. Egyszerűen be kell írni a címsorba a gép nevét/IP címét, és a QsBackupFdbService.ini -ben beállított port számot.
Pl.:
   http://supserver:8080

A megjelenő webes felületen megtekinthetők a futással kapcsolatos legfontosabb információk.

 Megjegyzés

Olyan formátumban kell beállítani az elérhetőséget, hogy a SUP klienst futtató gépről elérhető legyen. A beállítást célszerű ellenőrizni a [Teszt] nyomógombbal.
Ahhoz, hogy ne csak localhost-on működjön, hanem a SUP kliensek is letudják kérdezni, a Windows tűzfalat ki kell kapcsolni, vagy a konfigurációs fileban megadott port-ot engedélyezni kell.