SCRIPT
A Script modul felel az automatizációs folyamatok konfigurálásáért és felügyeletéért, biztosítva a háttérben zajló műveletek zökkenőmentes működését. Az integrált értesítési funkció révén a felhasználó azonnal értesítést kap, ha a rendszer bármelyik feladat végrehajtása során problémákba ütközik. A rendszer nemcsak a beépített, általános célú szkripteket támogatja, hanem lehetőséget biztosít egyedi, az ügyfelek specifikus igényeire szabott alkalmazások integrálására is.
Converter
script-converter
Automatikus hangfájl konvertáló script
A forrás mappába bekerült tetszőleges formátumú hangfájt a megadott cél mappába helyezi konvertálás után.
- Név: tetszőleges, egyedi elnevezés
- Forrás mappa: ezt a könyvtárt vizsgálja át 30 másodpercenként a script, és ha talál új fájlt, megkezdi a konvertálást (pl.:
D:\CONVERT\44.1k_wav\) - Cél mappa: ide kerülnek az átkonvertált fájlok (pl.:
D:\CONVERTED\44.1k_wav\) - Kész mappa: a konvertálást követően ide kerülnek a fájlok a forrás mappából (pl.:
D:\CONVERT\44.1k_wav\kesz) - Szűrő: szűrési lehetőség a forrásmappában elhelyezett fájlokra (pl.: *.mp3 vagy hirek*.wav)
- Formátum: a cél fájl formátuma (pl.:
wav 44.1k 16bit stereo) - Értesítés: telegram értesítés hiba esetén (a központi chaten)
- Aktív: aktiválás
Ha nincs megadva cél mappa, az eredeti, konvertálás előtti fájl törlődik a konvertálás befejeztével!
Loader
script-loader
Automatikus fájl betöltő script
A forrás mappába bekerült tetszőleges fájlt a megadott cél mappába helyezi átnevezés után.
- Név: tetszőleges, egyedi elnevezés
- Forrás mappa: ezt a könyvtárt vizsgálja át 60 másodpercenként a script, és ha talál új fájlt, megkezdi a feldolgozást (pl.:
D:\LOAD\hirek\) - Cél mappa: ide másolja a talált fájlokat, ez általában az adáslebonyolító szoftver egy automatikus import mappája (pl.:
D:\AUTOLOAD\hirek\) - Szűrő: szűrési lehetőség a forrásmappában elhelyezett fájlokra (pl.:
*.mp3vagyhirek*.wav) - Minta: reguláris kifejezés a fájlnevek szűrésére (pl.:
^.*$) - Cél fájlnév: a fájl neve a feldolgozás után a cél mappában (pl.:
hirek.wav) - Biztonsági idő: a fájl létrehozása és a fájl feldolgozása között eltelt minimális idő (alapérték:
60) - Forrás megtartása: a forrás mappában megtartja az eredeti fájlt és amíg annak újabb verziója nem jelenik meg, figyelmen kívül hagyja
- Almappák: keresés a forrásmappa almappáiban is
- Értesítés: telegram értesítés hiba esetén (a központi chaten)
- Aktív: aktiválás
reguláris kifejezések
A reguláris kifejezés (regex) egy karakterlánc, amely mintaként szolgál a szövegkereséshez és -manipulációhoz. Segítségével bonyolult szöveges minták azonosítására és kezelésére van lehetőség. A példának megadott ^.*$ kifejezés minden fájlnévre egyezést mutat. Ha nem kell bonyolult átnevezéseket végrehajtanunk, ezt a mintát kell alkalmazni. Bonyolultabb átnevezésekhez az alábbiak alapján állíthatunk össze mintákat:
Alap Szintaxis
.: Bármilyen egyedi karaktert jelöl (kivéve az új sor karaktert).^: A szöveg kezdetét jelöli.$: A szöveg végét jelöli.[]: Karakterhalmaz. Bármelyik karaktert jelölheti, ami a zárójelek között van.|: Alternatíva. A|B jelentése A vagy B.(): Csoportosítás. A regex részeinek csoportosítására szolgál.?: Az előtte álló karakter nulla vagy egy előfordulását jelöli.*: Az előtte álló karakter nulla vagy több előfordulását jelöli.+: Az előtte álló karakter egy vagy több előfordulását jelöli.{n}: Az előtte álló karakter pontosan n-szer fordul elő.{n,}: Az előtte álló karakter n vagy több alkalommal fordul elő.{n,m}: Az előtte álló karakter legalább n, de legfeljebb m alkalommal fordul elő.
Speciális Karakterek
\d: Bármely számjegyet jelöl (0-9).\D: Bármely nem számjegy karaktert jelöl.\w: Bármely “szó” karaktert jelöl (betűk, számjegyek, aláhúzás).\W: Bármely nem “szó” karaktert jelöl.\s: Bármely whitespace karaktert jelöl (szóköz, tab, új sor).\S: Bármely nem whitespace karaktert jelöl.
A ?<name> konstrukció a reguláris kifejezésekben a csoportnevek deklarálására szolgál, ami lehetővé teszi számunkra, hogy ne csak sorszámmal, hanem névvel is hivatkozzunk a csoportokra.
Példa
Minta: ^(?<date>[\d]{6})_(?<hour>[\d]{2})_(?<format>HIREK)$
Cél fájlnév: hirblokk_${hour}
A 240101_18_HIREK.mp3 séma szerint elnevezett fájlt hirblokk_18.mp3 néven menti a célmappába.
A reguláris kifejezés értelmezése részletesen:
^: A kifejezés elején azt jelzi, hogy a mintának a szöveg elejétől kell kezdődnie.(?<date>[\d]{6}): Ez egy elnevezett csoport (date), ami pontosan hat számjegyet (\d) fogad el._: Ez egyszerűen egy alulvonás karakter, ami elválasztja a csoportokat egymástól.(?<hour>[\d]{2}): Ez a második elnevezett csoport (hour), ami pontosan két számjegyet fogad el._: Ismét egy alulvonás karakter.(?<format>HIREK): Ez a harmadik elnevezett csoport (format), amely konkrétan a “HIREK” szöveget fogadja el.$: A kifejezés végén azt jelzi, hogy a mintának a szöveg végéig kell tartania.
Mintákat a legegyszerűbben regex101 oldal segítségével lehet létrehozni és tesztelni, de a ChatGPT is pillanatok alatt megír helyettünk egy ilyet, ha kérjük.
A Loader script a reguláris kifejezéseket kizárólag a fájl nevének a szűrésére használja, a kiterjesztést figyelmen kívül hagyja.
Purger
script-purger
Automatikus fájltörlő script
Törli a megadott mappában található fájlokat a beállított idő letelte után.
- Név: tetszőleges, egyedi elnevezés
- Mappa: ezt a könyvtárt vizsgálja át a script, és ha talál a lenti kritériumoknak megfelelő fájlt, törli. (pl.:
D:\CONVERT\44.1k_wav\kesz\) - Szűrő: szűrési lehetőség a mappában található fájlokra (pl.:
*.mp3vagyhirek*.wav) - Fájlok megtartása: a napok száma, miután a fájl törlésre kerül (pl.:
0- azonnal, alapérték:30) - Almappák: keresés a mappa almappáiban is
- Értesítés: telegram értesítés hiba esetén (a központi chaten)
- Aktív: aktiválás
A Purger script nem folyamatos futású, hanem az Agent futtatja, megadott időközönként.
Syncer
script-syncer
Automatikus tükrözés
Percenként tükrözi a forrás mappát a cél mappába.
- Név: tetszőleges, egyedi elnevezés
- Forrás mappa: ezt a könyvtárt vizsgálja át a script, és végzi el a fájlok másolását a célmappába a megadott feltételek alapján (pl.:
D:\LOGGER) - Cél mappa: ide tükröződnek az adatok a forrás mappából (pl.:
\\ARCHIVE\LOGGER) - Szűrő: szűrési lehetőség a forrás mappában található fájlokra (pl.:
*.wav) - Cél takarítása: ha egy fájl a forrás mappában törlésre került, a cél mappában is törlésre kerül.
- Értesítés: telegram értesítés hiba esetén (a központi chaten)
- Aktív: aktiválás
A Syncer script minden esetben a forrás mappa almappáit is kezeli.
Agent
script-agent
Script futtató script
Egyes modulok, illetve egyedi scriptek szabályos időközönként történő futtatásáért felel.
- Név: tetszőleges, egyedi elnevezés
- Elérési út: (pl.:
D:\SCRIPT\purger.ps1) - Argumentumok: futási paraméterek (pl.:
-Force) - Első futás ideje: az első futás időpontja
- Futás időköz: a script futtatásának gyakorisága az első futás idejétől számítva
- Értesítés: telegram értesítés hiba esetén (a központi chaten)
- Aktív: aktiválás
Az Agent csak Powershell 7.4 kompatibilis scripteket tud futtatni.
WatchDog
script-watchdog
Script ellenőrző script
Scriptek és folyamatok futását ellenőrző script, mely ha leállást észlel, megpróbálkozik az újraindítással, ellenőrzi, hogy sikeres volt-e az újraindítás és ezek után üzenetet küld az eredményről.
- Név: tetszőleges, egyedi elnevezés
- Folyamat: a futtatható állomány neve, ahogy a feladatkezelőben szerepel (kiterjesztés nem szükséges) (pl.:
BroAdminAPIvagypwsh) - Parancs: a futtatott fájl neve, folyamat esetén a futtatható állomány neve, script esetén a script neve (pl.:
BroAdminAPI.exevagyloader.ps1 - Elérési út: a futtatható állomány elérési útja (pl.:
C:\Program Files\BroAdminAPI\BroAdminAPI.exevagy powershell script esetén:pwsh.exe) - Argumentumok: futási paraméterek (pl.: powershell script esetén pl.:
-file “D:\SCRIPT\loader.ps1”) - Értesítés: telegram értesítés hiba esetén (a központi chaten)
- Aktív: aktiválás
Amikor a Watchdog a futást ellenőrzi, azt a Folyamat és a Parancs mezők alapján teszi. Amikor megpróbálja újraindítani a folyamatot, akkor az Elérési út és az Argumentumok mező alapján jár el.
Futtatható állományoknál Elérési útként bármit meg lehet adni, például .lnk vagy .bat kiterjesztésű fájlokat, amik valamilyen futtatható állományra mutatnak. Ezt a futtatható állományt kell a Folyamat mezőben megadni.
Folyamat: icecast
Paranacs: icecast.exe
Elérési út: D:\run-icecast-server.lnk
Powershell script esetén az Argumentumok mezőben tudunk a scriptre hivatkozni, amit a Parancs mezőben is meg kell tennünk:
Folyamat: pwsh
Paranacs: loader.ps1
Elérési út: pwsh.exe
Argumentumok: D:\SCRIPT\loader.ps1
Custom
Egyedi szkriptek
x_convert_log.ps1
Letömöríti az archivált loggerfájlokat mp3-ba.
Paraméterek: -
x_transition.ps1
Átmásolja állomások között a tartalmat
Paraméterek: -Date - ha meg van adva, akkor az adott napot dolgozza fel (pl. -Date “2024-01-01”), ha nincs megadva, akkor a következő hét minden napját.
