コマンドの実行
同じコマンドを選択した機器へ送り、進行状況と出力をまとめて確認できます。
このページは詳細編です。まだ何も実行していない場合は、 はじめかたから読んでください。
適切な選択肢を選ぶ#
接続の種類は 4 つ、選択肢は 5 つです——WinBox と同じ接続がスクリプトの送り方を 2 通り持つためです。 できることが違うので、互いの代わりにはなりません。
| 選択肢 | RouterOS | どうやって届くか | 送れる長さ |
|---|---|---|---|
| 8291、1 行ずつ(既定) | 6.x / 7.x | ターミナルの前に座って打つように 1 行ずつ。機器が返すプロンプトで 1 行の終わりを判断 | 256 KiB |
| 8291、まとめて | 6.x / 7.x | 全体を一度に実行。長いスクリプトでは画面への表示が遅くなります | 24 KiB |
| SSH (任意) | 6.x / 7.x | 全体を SSH で送って実行 | 60 KiB |
| API (任意) | 7.x のみ | 全体を文字列として機器に渡して実行 | 60 KiB |
| REST (任意) | 7.x のみ | 機器の Web インターフェイス側の口から送って実行 | 60 KiB |
どれを選ぶか#
- 1 行ずつが既定で、ほとんどの場合これが正解です。いちばん長く送れて、両方の世代で動きます。
- まとめては、スクリプトが独自の変数を宣言する場合に必要です。
1 行ずつ流し込む方式では :local で宣言した変数がその行より先に残りません—— これは送り方そのものの性質で、アプリが何かを省いているわけではありません。
- SSH は 8291 が塞がれていて SSH は通る環境で役立ちます。機器側に
/ip service sshが要ります。 - API / REST は、すでにそれらに統一された環境向けです。
コマンドの実行はどちらも RouterOS 7.x のみで、REST にはさらに /ip service www または www-ssl が要ります。
コマンドを書く#
その欄はただのテキストで、横に「いまどれだけ使っていて、この選択肢では最大どれだけか」を示す数字が出ます。 履歴には実行した内容が残り、全体をファイルに保存して呼び戻すこともできるので、 定例の確認を毎回打ち直す必要はありません。
まず試すのに向いた、読むだけのコマンド:
/system resource print
/interface ethernet print where running
/ip address print機器を変更するコマンドは、ご自身の機器でのご自身の判断でお願いします。 身につけておくとよい習慣が 2 つあります。
- 同じ機器に対して、まず対応する確認用コマンドを実行し、何を変えようとしているのかを見ておく。
- いま自分が使っている経路そのものを切りかねないコマンド——ファイアウォールのルール、
インターフェイスの無効化、アドレスの変更——にはとくに注意する。 アプリはそれらを元に戻せませんし、切れてしまった接続も同じです。
同時に何台、1 台あたり何秒#
同時実行数は同時に処理する機器の数、デバイスごとのタイムアウトは 1 台に与えられる時間です。
- 100 台まで指定できます。推奨の 20 を超えると欄がそう知らせますが、止めはしません。
- 増やせば速くなるとは限りません。機器そのもの、途中のネットワーク、手元のパソコンが、
それぞれ先にボトルネックになり得ます。
- タイムアウトは 1 台ずつ数えるので、遅い 1 台がほかの機器の時間を食いつぶすことはありません。
送る前に一度たずねます#
選択したデバイスを実行を押しても、まだ何も送信されません。 先に確認画面が出て、何を何台に実行しようとしているかが表示されます。 マウスが滑っただけで機器にコマンドが届くことはありません。
結果を読む#
結果は3. 結果を確認に 1 台 1 行で並び、状態、かかった時間、返ってきた内容が付きます。 並ぶのは今回の機器だけです。
| 状態 | 意味 |
|---|---|
| 実行中 | まだ走っています。 |
| 完了 | その機器がコマンドの最後の行まで到達しました。 |
| 接続失敗 | そもそもつながらず、何も送信されていません。 |
| 結果が不確定 | コマンドは送信済みで、そのあと接続が切れたか、実行がキャンセルされました。 |
| キャンセル | 自分で実行を止めました。 |
キャンセルは何をするか#
停止で実行をキャンセルします。それが実際に何を意味するかは、接続の種類によって違います。
- 8291 では、キャンセルはその接続を止めます。
- API・SSH・REST では、キャンセルはこちら側が待つのをやめるだけです。
機器側のコマンドが止まった保証にはならず、機器は受け取った分を実行し切るかもしれません。
いずれの場合も、すでにコマンドを送信済みの機器は失敗ではなく結果が不確定として報告され、 アプリが自分の判断で送り直すことはありません。 黙った再送こそ、1 つの変更が 2 つになる原因です。
実行のあと#
- 問題のデバイスを保存リストへで、問題の出た機器をまとめて保存します。
- 問題のデバイスを再実行で、その数台だけもう一度実行します。
- 出力をコピーと状態の要約をコピーで、結果をクリップボードに入れます。
次に読むもの#
- ポート監視——回線上で実際に起きていることを見る。
- トラブルシューティング——機器が応答しないとき。