Parametry v OS Mikrotik

StM

Parametry v OS Mikrotik
« kdy: 15. 02. 2013, 18:06:32 »
Právě jsem napsal (spíš poskládal) pár skriptů, které umožní omezit přístup některých PC na internet. Měly by se spouštět z různých PC s různými parametry (předávám je pomocí globální proměnné - jinak to snad ani nejde). Jenomže! Když se skript rozměhne z jedné stanice např. s parametrem 1 a v průběhu jeho zpracování se skript spustí odjinud s parametrem 2, pak se i v tom prvním běhu změní hodnota parametru a udělá to "neplechu". Část prvního spuštění běží s parametrem 1 ale poté se parametr změní na 2 a s tím to doběhne (a to už nemusí být korektní). Druhé spuštění běží s tou hodnotou 2.
Jediné, na co jsem přišel je to, že můžu HNED na začátku hodnotu globální proměnné uložit do lokální a pak je to OK. Ale přesto mi to připadá nespolehlivé.
Spolehlivá varianta by byla napsat víc skriptů a nepředávat parametry, ale to bych se dostal tam, kam nechci. Jakákoli úprava skriptů by se musela dělat mnohokrát.
Prosím, poraďte. Hledám už několik týdnů... a zatím nic.


Re:Parametry v OS Mikrotik
« Odpověď #1 kdy: 15. 02. 2013, 18:33:11 »
Tak tomuhle dotazu dávám cenu Nejzmatenější dotaz měsíce :)

JardaP .

  • *****
  • 11 064
    • Zobrazit profil
    • E-mail
Re:Parametry v OS Mikrotik
« Odpověď #2 kdy: 15. 02. 2013, 18:51:13 »
Tak tomuhle dotazu dávám cenu Nejzmatenější dotaz měsíce :)

To neni dotaz, ale sdeleni. Ja tam tedy zadny otaznik nevidim.

StM

Re:Parametry v OS Mikrotik
« Odpověď #3 kdy: 15. 02. 2013, 19:04:31 »
Máte pravdu, v textu není otazník. V textu je popsán problém s nekorektním ukončením prvního běhu skriptu. Pokud tam otazník schází tak upřesňuji:
Jak napsat skript pro OS Mikrotik, aby bylo jej bylo možné spouštět z více PC s různými parametry a přitom se při spuštění s různými parametry navzájem neovlivňovaly?
Děkuji upozornění JardoviP a děkuji za věcnou odpověď Mirkovi Prýmkovi.

Tom22

Re:Parametry v OS Mikrotik
« Odpověď #4 kdy: 16. 02. 2013, 00:46:27 »
Mrkněte možná na RouterOS API - třeba ten problém obejdete jako já.
Dělal jsem totiž něco podobného a přes skripty se mi to moc nedařilo, přes API to pak šlo docela dobře.
API jsem povolil v ip/services, pomocí PHP třídy routeros_api (to jsem někde stahnul) jsem začal bez docela rychle komunikovat s routerem - příkazy typu /ip/route/list a /ip/firewall/address-list/add atd.
Problém jsem zaznamenal jen u nějaké starší verze RouterOS - tam zůstávala viset spojení na API a nezavírala se ...

tak hodně štěstí!


StM

Re:Parametry v OS Mikrotik
« Odpověď #5 kdy: 16. 02. 2013, 21:42:06 »
Děkuji za reakci. Pomocí API jsem to měl hotovo (použil jsem C#). PC posílalo příkazy Mikrotiku a ten je prováděl. Problém je v okamžiku, kdy potřebuji ty posílané příkazy upravit (program upgradovat). Pak musím obejít ta PC... Měl jsem pocit, že skripty budou jednodušší a budu je moci upravovat na jednom místě, PC bude předávat parametry a dávat pouze pokyn k jeho spouštění. Jenže to má taky svoje mouchy.

srac

Re:Parametry v OS Mikrotik
« Odpověď #6 kdy: 16. 02. 2013, 22:22:19 »
Z pohledu programatora-co takhle pri spusteni skriptu nastavit nejaky priznak, ktery by se kontroloval pred opetovnym spustenim s jinym parametrem. K  dalsimu spusteni s jinym parametrem by tedy  mohlo dojit az ve chvili, kdy je predesle spusteni uspesne ukonceno a nastaveny priznak (rikejme tomu pracovne zamek nad spustenym skriptem) je uveden do stavu "odnastaveni" (=krasne slovo).

StM

Re:Parametry v OS Mikrotik
« Odpověď #7 kdy: 16. 02. 2013, 23:09:13 »
Diky, i o tom jsem uvažoval. Pořád ta spolehlivost není úplně to pravé ořechové. Co do spolehlivosti se to asi dá srovnat s těmi lokálními proměnnými. Uvažoval jsem o nějakém běhu v oddělených paměťových prostorech, nebo o něčem takovém.