2.1. Check RPO Server :: Projekt

(Verze: CZ 0.01 17.02.2016 -md-)

2.1.1. Cíl projektu

Kontrola běhu RPOServer.exe. V případě nefukčnosti, provést restart aplikace.

2.1.2. Způsob ověřování kontroly běhu

Aplikace RPOServer plynule zapisuje do svého logu “Srv*.log”. Toto se děje téměř nepřetržitě, tak jak vyřizuje požadavky uživatelů.

  • Log: Srv*.log

    místo hvězdičky je datum a čas

  • Adresář: E:\Program Files\StoreLine\Office\PocketOffice\

    zde je uložen log i samotná aplikace

2.1.2.1. Řešení

Batch kontroluje v pravidelných intervalech timestamp logu a porovnává jej s aktuálním datem a časem. Je-li rozdíl větší než 10 minut, provede restart. O své aktivitě zapisuje do logu.

Warning

Nevýhodou tohoto řešení určitě je závislost na příkazech date a time, které neumožňují formátování výstupu, ale vracejí formát, který je nastaven v národním prostředí OS. Změna tohoto nastavení okamžitě způsobí nefunkčnost tohoto skriptu, neboť s datem a časem pracuje jako s pevně pozicovaným textovým řetězcem.

2.1.3. Použité nástroje

  • BATCH skript
  • programy:
    • taskkill
    • tasklist
    • wmic process where name=”cmd.exe” get commandline, processid
    • wait
    • date
    • time

2.1.4. Technické řešení

Obsahuje dva batch soubory. První “runCheckRPO.bat” je obálkou, která se startuje pomocí schtasks. Obálka kontroluje zda batch “checkRPOServer.bat” běží, pokud ne nastartuje jej a nastaví zápis do logu “checkRPOServer_[timestamp].log”. Pokud běží, zapíše pouze PID procesu s datem a časem do logu “runCheckRPO_[datum].log”.

  • Dávka je umístěna mezi ostatní: BATCH

    G:\disacd\BATCH

  • Logy se vytváří do: LOGBATCH

    G:\disacd\LOGBATCH