Toto je původní verze internetového fóra ISPforum.cz do února 2020 bez možnosti registrace nových uživatelů. Aktivní verzi fóra naleznete na adrese https://telekomunikace.cz

Do MK nejde vložit skript přes terminál

Návody a problémy s konfigurací.
promos
Příspěvky: 28
Registrován: 15 years ago

Do MK nejde vložit skript přes terminál

Příspěvekod promos » 5 years ago

Kolegové,
rád bych vás požádal o radu. U některých mikrotiků v síti jsem se začal potkávat s problémem, že přes terminál nejsem schopen do nich vložit skript. Klasicky přes Paste jsem ho tam vložil. Teď když ho tam chci vložit se nic nestane (žádná chybová hláška) jen se odpojí terminál s hláškou ​router has been disconnected a tím to skončí. V logu se také žádná hláška neobjeví. Změna verzí nepomáhá a rádio se neodpojí jen winbox.
Uniká mi něco nebo MK udělal nějakou změnu?
Prosím o radu.
0 x

pgb
Příspěvky: 722
Registrován: 7 years ago

Příspěvekod pgb » 5 years ago

Co vkládáš? Opravdu skript nebo jen sérii příkazů? Pokud skript, tak ho dej do system script a spusť .... dej vědět. Nebo sem postni nějaké detaily.
0 x

mirek.k
Příspěvky: 796
Registrován: 16 years ago

Příspěvekod mirek.k » 5 years ago

A taky odkud to vkládáš? Notepad, nebo jiný editor prostého textu?
0 x

mpcz
Příspěvky: 2779
Registrován: 18 years ago

Příspěvekod mpcz » 5 years ago

Nebo třeba skript upg.rsc normálně spuštěný jako skript funguje
a soubor upg.rsc stejného obsahu umístěný ve files spuštěný /import file-name=upg.rsc se někde zadrhne.
Nejde nějak přesunout obsah file upg.rsc do módu standardního skriptu, kde funguje i přehled o spuštění atd? Děkuji, 28.7.2018
0 x

ludvik
Příspěvky: 4448
Registrován: 13 years ago

Příspěvekod ludvik » 5 years ago

Myslíš, že víme co je obsahem upg.rsc? Já tedy ne ...

Rozhodně je to ale textový soubor, pokud jde nějak spustit na ROS.
0 x
Jelikož je zde zakázáno se negativně vyjadřovat k provozním záležitostem, tak se holt musím vyjádřit takto: nové fórum tak jak je připravováno považuji za cestu do pekel. Nepřehledný maglajz z toho bude. Do podpisu se mi pozitiva již nevejdou.

pgb
Příspěvky: 722
Registrován: 7 years ago

Příspěvekod pgb » 5 years ago

mpcz píše:Nebo třeba skript upg.rsc normálně spuštěný jako skript funguje
a soubor upg.rsc stejného obsahu umístěný ve files spuštěný /import file-name=upg.rsc se někde zadrhne.
Nejde nějak přesunout obsah file upg.rsc do módu standardního skriptu, kde funguje i přehled o spuštění atd? Děkuji, 28.7.2018


Zadrhne se protože má problém. Použij import file xxxx verbose=yes . Používej otazníček pro vyvolání nápovědy.

Import slouží hlavně pro příkazy konfigurace. Script ke skriptování :)
0 x

ludvik
Příspěvky: 4448
Registrován: 13 years ago

Příspěvekod ludvik » 5 years ago

On to ROS nějak rozlišuje?
pgb píše:Import slouží hlavně pro příkazy konfigurace. Script ke skriptování :)
0 x
Jelikož je zde zakázáno se negativně vyjadřovat k provozním záležitostem, tak se holt musím vyjádřit takto: nové fórum tak jak je připravováno považuji za cestu do pekel. Nepřehledný maglajz z toho bude. Do podpisu se mi pozitiva již nevejdou.

pgb
Příspěvky: 722
Registrován: 7 years ago

Příspěvekod pgb » 5 years ago

Težko říct jak interně, minimálně z wiki

Kód: Vybrat vše

Import command is available from root menu and is used to import configuration from files created by export command or written manually by hand.


Ale rozhodně to pobírá i skriptovací část. Dokud nebudeme znát obsah, tak těžko říct ..... co se zadrhne, jaký příkaz se neprovede? Skript i import se provádí a pokud narazí na problém, tak skončí a zbytek neproběhne, chce to zjistit v jaké části programu se zadrhne. (dát si tam třeba

Kód: Vybrat vše

:put XYZ
0 x

mpcz
Příspěvky: 2779
Registrován: 18 years ago

Příspěvekod mpcz » 5 years ago

Zdravím, zkusil jsem několik variant, jak přesunout soubor na MKT. Každá má (nebo já) nějaký problém. Třeba ta nejjednodušší, kdy se přetahuje soubor via tool fetch. Jakmile pošlu příkaz k přesunu na stroj, přesun sice začne, ale po ukončení spojení se strojem přetahování spadne. Má ROS nečo, co by umožnilo dotažení souboru do konce? Popř. poté restart? Dávat delay do ovládacího spojení se mi nechce, stejně nevím předem, jak dlouho bude přesun trvat. Děkuji, mpcz, 29.7.2018
0 x

pgb
Příspěvky: 722
Registrován: 7 years ago

Příspěvekod pgb » 5 years ago

Tak to nahej pomocí scp a místo toho aby bash měl další příkaz na spuštění na novém řádku, tak se to zřetězí a dá se tam "&&" což v bash znamená vykonej, pokud bylo nahrání úspěšné.
0 x

mpcz
Příspěvky: 2779
Registrován: 18 years ago

Příspěvekod mpcz » 5 years ago

Děkuji, WINSCP nechávám v záloze, zatím s komunikací problém nemám. Co problém je, je ten Sergejův systém. Např. jednoduchá věc:
/system script add name="script1" source="/system reboot"
z PŘ funguje OK, vzdáleně se sice skript vytvoří, ale obsah nemá. Je v tom zase nějaká pastička? Jeho několik let staré manuály jsou jen pro zlost. Dík, mpcz, 29.7.2018
0 x

pgb
Příspěvky: 722
Registrován: 7 years ago

Příspěvekod pgb » 5 years ago

To není problém sergeje, ale tvůj, nevím jak tam ten příkaz posíláš, ale neescapuješ speciální znaky. Nehledě na to, že ten příkaz na reboot máš špatně. Takhle vyžaduje potvrzení k provedení restartu.

Správně je například:

Kód: Vybrat vše

/system scheduler add name=reboot on-event="/system reboot" start-time=([/system clock get time] + 00:00:10)
nebo

Kód: Vybrat vše

/system scheduler add name=REBOOT interval=5s on-event="/system scheduler remove REBOOT;/system reboot"

V SSH příkazu například:

Kód: Vybrat vše

ssh -q -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null -n admin@192.168.44.201 "/system scheduler add name=REBOOT interval=5s on-event=\"/system scheduler remove REBOOT;/system reboot\""


edit: aby jsi se vyhnul týhle drobnosti, tak proto je v tom mém puvodní skriptu ten soubor, ketrý se nahraje a pak až spustí jeho obsah "jakoby lokálně na mk"
0 x

mpcz
Příspěvky: 2779
Registrován: 18 years ago

Příspěvekod mpcz » 5 years ago

Děkuji, ten reboot byl jen příklad, nic lepšího mě nenapadlo. S tím potvrzením jsem se nějak vyrovnal, ale trápí mě vytvoření skriptu na dálku. Skript se vytvoří, ale obsah nemá. Jsem přesvědčen, že v tom je nějaká Sergejova pastička, kterou chápou jen někteří. Co to prosím je přesně "neescapuješ speciální znaky". Jak je mám escapovat?
Prosím tedy znovu, command po SSH/telnetu:
/system script add name="script1" source="/system reboot"
Vytvoří skript včetně tohoto obsahu? Pokud ne, jak to umí Sergej nebo někdo jiný? Děkuji, mpcz, 29.7.2018
0 x

pgb
Příspěvky: 722
Registrován: 7 years ago

Příspěvekod pgb » 5 years ago

Tak znovu, žádná past - musíš se snažit chápat co ti říkám a pořádně číst. Porovněj si ty příklady co jsem poslal a pochopíš (když jsi nepochopil escapování znaků). Tak znovu, jak to tam posíláš? Pokud pomocí ssh, tak musíš ESCAPOVAT SPECIÁLNÍ ZNAKY. Tj třeba ty uvozovky, si projdi co tam posíláš a třeba ti dojde, že k nahrání obsahu skriptu ani dojít nemůže, protože tu sekvenci příkazu co posíláš v ssh otevřeš prvníma uvozovkama a další uzavírací uvozovky nejsou ty poslední, ale uvozovky co začínají sekci => source=" <= prostě ukončíš a dál se nic nepošle. ( ! )

PS: proč myslíš že jsem ti psal telefon do pm
0 x

pgb
Příspěvky: 722
Registrován: 7 years ago

Příspěvekod pgb » 5 years ago

je veliký rozdíl, jestli se za
A) přihlásíš do konzole přes ssh a v terminálu napíšeš

Kód: Vybrat vše

/system script add name="script1" source="/system reboot"


B) posíláš pomocí ssh pouze příkaz, protože v tomhle případě musíš dávat bacha co ti uzavírá parametry toho ssh posílaného příkazu (escapovat znaky, které se mají přenést jako znaky a ne se chovat jak parametry u tebe v systému)

Kód: Vybrat vše

ssh -q -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null -n admin@192.168.44.201 "/system script add name=\"script2\" source=\"/system reboot\""
0 x