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. Az update verzió kiválasztásnál figyelni kell arra, hogy a a Java 8 verzió csak a 202 update csomaggal bezárólag használható ingyenesen üzleti célokra. Ezért a szükséges JRE verziót a Java Archive Downloads oldalról kell letölteni.

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 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. Windows környezetben a Firebird SQL kliens a Qsoft oldán található telepítőből üzemelhető be. Linux alatt a csomagkezelőből lehet legegyszerűbben feltenni.

A mentett file-ok tömörítéséhez szükséges 7ZIP program Windows verziója a SUP telepítő készlet része, mely a <SupHome> könyvtárban található. Linux alatt a csomagkezelőből kell feltenni.

A telepítés lépései:

  • Töltse le a QsBackupFdService.zip állományt.
  • Hozza létre a ...\LIB könyvtárat, és a ZIP tartalmát ebbe csomagolja ki.
  • Hozza létre a működési paramétereket tartalmazó QsBackupFdbService.ini file-t a QsBackupFdbService.ini.default átnevezésével.
  • Állítsa be a paramétereket a helyi viszonyoknak megfelelően.
  • Inditsa el és tesztelje a működést alkalmazás módban. A futtatáshoz JRE 1.8 környezet szükséges. Az alkalmazás módú tesztelés a QsBackupFdbService-ApplicationMode.bat futtatásával kezdeményezhető.
  • Az alkalmazás módú sikeres beüzemelést követően kell Windows service-ként beüzemelni. Ezt a célt szolgálja a QsBackupFdbService-Srv-Install-Start.bat parancs file.


 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ó telepítése előtt a szolgáltatás leállítása, majd újraindítása szükséges. További információ: QsBackupFdbService modul frissítése.

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.

Példák a levélküldés. beállítására
ParaméterExchangeEximGmailOffice365
SMTPHost=
SMTPPort=
SMTPUser=
SMTPPwd=
SMTPAuth=
smtp.sajat.hu
587
felado
pwd
starttls
smtp.belso.intra
25
felado 

none
smtp.gmail.com
465
felado@gmail.com
pwd
ssl
smtp.office365.com
587

felado

pwd

starttls

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

A paraméterek beállítása után a működést alkalmazás módban kell beüzemelni tesztelni, és csak a sikeres teszt után véglegesíteni service-ként. Mivel ez egy konzolalkalmazás, parancssorból a QsBackupFdbService-ApplicationMode.bat 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. Az e-mail notifikációs paraméterek megfelelő beállítása esetén ezek kerülnek elküldésre a backup szolgáltatásokat felügyelő címre.

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

Az alkalmazás módú sikeres tesztelés után kerül sor a Windows szolgáltatásként történő telepítésre. Ezt az QsBackupFdbService-Srv-Install-Start.bat file indításával lehet kezdeményezni. A Java alkalmazásokat ú.n. service wrapper segítségével lehet Windows service-ként futatni. Az általunk használt service wrapper a WinSW. Más wrapperek is használhatók, azonban ehhez nyújtunk terméktámogatást.

 Figyelem

A szolgáltatás telepítéshez adminisztrátori jogosultság szükséges. A telepítő el is indítja el a szolgáltatást. Ezt a SERVICES.MSC futtatásával lehet ellenőrizni. A szolgáltatások listájában meg kell keresni a QsBackupFdbService bejegyzést, és elenőrizni lehet, hogy a szolgáltatás rendben elindult-e.

 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.
Hasonló probléma adódhat, amikor BackupPath paraméter egy meghajtóként beállított hálózati helyre mutat.
Mivel a windows service system jogon fut, ezért a hálózati helyek elérhetősége problémás lehet.
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. A másik lehetőség, hogy a NET USE paranccsal a hálózati helyeket az operációs rendszer szintjén kell meghajtóként beállítani.

 Megjegyzés

Kettős vagy többszörös  licence telepítés esetén a szolgáltatás több példányban is indítható. A többszörös telepítés logikáját követve, az egyes példányok külön LIB könytárban kell hogy legyenek. Az egyes példányok azonosításához QsBackupFdbService-Wrapper.xml file átszerkesztése szükséges. A szolgáltatás nevét ki kell egészíteni a kettős licence azonosításánál használt utótagokkal.
Emellett a WebservicePort beállításnál is ügyelni kell, hogy nem legyen ütközés.

 Figyelem

A SUP-ban a Szerviz | Könyvelt cég menüpontban a Figyelmeztetés adatbázis mentésre paramétert be kell kapcsolni!!! Csak azokra a cégekre fut a mentés, ahol ez be van kapcsolva.

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-11-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 indítása - Linux vagy Windows Docker környezet

Ezen módozat telepítéséhez a Docker környezet üzemeltetésében kellő jártasság szükséges.

Ennek hiányában kérje a Qsoft Kft informatikai részlegének aktív közreműködését.


A Linux vagy Windows Docker környezetben való futtatáshoz szükséges telepíteni a Docker Engine-t, a megfelelő Linux disztribúcióhoz igazodva. Ebben segítséget ad az alábbi hivatalos Docker dokumentáció: https://docs.docker.com/engine/install/

Sikeres telepítés után az alábbi fájlok segítségével lehet létrehozni a Docker környezetben futtatható QsBackupFdbService konténert:

Dockerfile 

Dockerfile
FROM openjdk:8u292-jre-slim-buster

LABEL MAINTAINER="Hepp László & Szabó Bence <mail@qsoft.hu>" \
    Description="TEST -- Simple and lightweight Backup docker container, based on Debian Stretch." \
    Version="0.1.2.210603"

# global environment settings
ENV \
  DEBIAN_FRONTEND="noninteractive" \
  TERM="xterm" \
  ROOTDIR="/qsBackup"

ENV \
  BINDIR=$ROOTDIR"/bin" \
  LOGDIR=$ROOTDIR"/log" \
  DOCDIR=$ROOTDIR"/doc" \
  CONFDIR=$ROOTDIR"/config" \
  BCKPDIR=$ROOTDIR"/backup"

RUN echo ${CONFDIR}

# create working environment
RUN mkdir ${ROOTDIR} \
    ${BINDIR}  \
    ${DOCDIR}  \
    ${CONFDIR} \
    ${BCKPDIR} \
    ${BINDIR}/LOG

## QsBackup place log same dir of jar file
RUN ln -s ${BINDIR}/LOG ${LOGDIR}


# install packages
RUN \
  apt-get update -y && \
  apt-get upgrade -y

RUN \
  apt-get install -y \
      p7zip \
      nano \
      firebird3.0-utils

# cleanup
RUN apt-get clean && \
    apt-get autoremove -y

# copy payload
COPY bin ${BINDIR}
COPY doc ${DOCDIR}

## prepare entrypoint
RUN chmod +x ${BINDIR}/docker-entrypoint.sh


## for TEST reasons
RUN \
  ls -al ${BINDIR} && \
  ls -al ${ROOTDIR}


# exposes web interface port
EXPOSE 8080/tcp

# volume mappings
VOLUME \
  ${LOGDIR} \
  ${BCKPDIR} \
  ${DOCDIR}

WORKDIR ${BINDIR}

ENTRYPOINT ["/qsBackup/bin/docker-entrypoint.sh"]

##Bye. 

Az image letölthető a QSoft Kft. Docker Registry szerveréről, melyhez kérjük vegye fel velünk a kapcsolatot.


A Dockerfile elkészítése után, ugyanabban a mappában szükséges kiadni az alábbi parancsot, amivel a Docker Image elkészítésre kerül:

Linux esetén: build-image.sh

build-image.sh
#!/bin/bash

docker build --no-cache -t qsbfdb-oj8 .

Windows esetén:

docker build --no-cache -t qsbfdb-oj8 .


Miután a Docker Image elkészült, indítható az alábbi paranccsal:

run-qsb.sh

run-qsb.sh
#!/bin/bash

docker run -d --restart=always --name qsb \
        -p 8999:8080 \
        -v /var/containersdata/qsbackup/backup:/qsBackup/backup \
        -v /var/containersdata/qsbackup/config:/qsBackup/config \
        -v /var/containersdata/qsbackup/log:/qsBackup/log \
        -e TZ='Europe/Budapest' \
        -e LANG=C.UTF-8 \
        -e LC_ALL=C.UTF-8 \
         qsbfdb-oj8

Windows esetén:

docker run -d --restart=always --name qsb `
        -p 8999:8080 `
        -v /var/containersdata/qsbackup/backup:/qsBackup/backup `
        -v /var/containersdata/qsbackup/config:/qsBackup/config `
        -v /var/containersdata/qsbackup/log:/qsBackup/log `
        -e TZ='Europe/Budapest' `
        -e LANG=C.UTF-8 `
        -e LC_ALL=C.UTF-8 `
         qsbfdb-oj8


Módosítható értékek:

-p 8999:8080 \ # port
-v /var/containersdata/qsbackup/backup:/qsBackup/backup \ # backup tárolási mappája
-v /var/containersdata/qsbackup/config:/qsBackup/config \ # backup config mappája
-v /var/containersdata/qsbackup/log:/qsBackup/log \ # backup log mappája


A Docker konténer futását az alábbi paranccsal ellenőrízhetjük:

docker ps -a


CONTAINER ID   IMAGE                       COMMAND                  CREATED         STATUS                PORTS                                              NAMES
49c21a636cf0   qsbfdb-oj8                  "docker-entrypoint.s…"   2 months ago    Up 9 days             0.0.0.0:8999->8080/tcp                             qsb

A sikeres konténer futást a STATUS oszlop jelzi, amennyiben ez Up értéket mutat, a konténer fut.


A konténer vezérléséhez az alábbi parancsok használhatóak:

docker start qsb - Backup konténer indítása

docker stop qsb - Backup konténer leállítása

docker restart qsb - Backup konténer újraindítása

docker rm qsb - Backup konténer törlése

Szolgáltatás működésének felügyelete

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.


Ugyanez a technika lehetővé teszi, hogy a szolgáltatás ellenőrizhető legyen az ú.n. rendszerfelügyeleti szoftverek segítségével is.