Stránka 1 z 5

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

Napsal: 28 Jul 2018 08:41
od promos
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.

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

Napsal: 28 Jul 2018 10:08
od pgb
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.

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

Napsal: 28 Jul 2018 10:55
od mirek.k
A taky odkud to vkládáš? Notepad, nebo jiný editor prostého textu?

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

Napsal: 28 Jul 2018 11:50
od mpcz
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

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

Napsal: 28 Jul 2018 12:14
od ludvik
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.

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

Napsal: 28 Jul 2018 12:56
od pgb
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í :)

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

Napsal: 28 Jul 2018 13:00
od ludvik
On to ROS nějak rozlišuje?
pgb píše:Import slouží hlavně pro příkazy konfigurace. Script ke skriptování :)

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

Napsal: 28 Jul 2018 13:13
od pgb
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

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

Napsal: 29 Jul 2018 09:29
od mpcz
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

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

Napsal: 29 Jul 2018 10:18
od pgb
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é.

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

Napsal: 29 Jul 2018 12:58
od mpcz
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

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

Napsal: 29 Jul 2018 13:54
od pgb
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"

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

Napsal: 29 Jul 2018 14:23
od mpcz
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

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

Napsal: 29 Jul 2018 15:13
od pgb
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

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

Napsal: 29 Jul 2018 15:31
od pgb
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\""