User Tools

Site Tools


script:script

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Next revision
Previous revision
script:script [2024/04/08 12:16] – created adminscript:script [2024/05/07 09:58] (current) – [SCRIPT] admin
Line 1: Line 1:
 +====== SCRIPT ======
 +
 +<color #76777B>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.</color>
 +
 +----
 +===== 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
 +
 +<WRAP center round important 100%>
 +Ha nincs megadva **cél mappa**, az eredeti, konvertálás előtti fájl törlődik a konvertálás befejeztével!
 +</WRAP>
 +
 +
 +===== 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.: ''*.mp3'' vagy ''hirek*.wav'')
 +  * **Minta**: [[script:script#regularis_kifejezesek|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.
 +
 +<WRAP center round tip 100%>
 +Mintákat a legegyszerűbben [[https://regex101.com|regex101]] oldal segítségével lehet létrehozni és tesztelni, de a [[https://chat.openai.com/|ChatGPT]] is pillanatok alatt megír helyettünk egy ilyet, ha kérjük.
 +</WRAP>
 +
 +<WRAP center round important 100%>
 +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.
 +</WRAP>
 +===== 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.: ''*.mp3'' vagy ''hirek*.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
 +
 +<WRAP center round tip 100%>
 +A //Purger// script nem folyamatos futású, hanem az [[script:script#agent|Agent]] futtatja, megadott időközönként.
 +</WRAP>
 +
 +===== 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
 +
 +<WRAP center round tip 100%>
 +A //Syncer// script minden esetben a forrás mappa almappáit is kezeli.
 +</WRAP>
 +===== 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
 +
 +<WRAP center round tip 100%>
 +Az //Agent// csak Powershell 7.4 kompatibilis scripteket tud futtatni.
 +</WRAP>
 +
 +===== 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.: ''BroAdminAPI'' vagy ''pwsh'')
 +  * **Parancs**: a futtatott fájl neve, folyamat esetén a futtatható állomány neve, script esetén a script neve (pl.: ''BroAdminAPI.exe'' vagy ''loader.ps1''
 +  * **Elérési út**: a futtatható állomány elérési útja (pl.: ''C:\Program Files\BroAdminAPI\BroAdminAPI.exe'' vagy 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
 +
 +<WRAP center round info 100%>
 +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.
 +</WRAP>
 +
 +<WRAP center round tip 100%>
 +**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''
 +</WRAP>
 +
 +<WRAP center round tip 100%>
 +**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''
 +</WRAP>
 +
 +===== 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.
  

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki