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