# スケジュール機能

### 1. 機能概要

スケジュール機能は、任意の時刻やイベントの発生に起因して特定の処理を実行させる機能です。
本機能を利用することで、以下のような動作をヤマハスイッチで行うことができます。

- 特定の時間帯だけ特定のVLANにQoSをかける

- 特定の時間帯だけ無線LANアクセスポイントへのPoE給電を行う

- 定期的にtech-supportをmicroSDメモリに保存する

### 2. 用語の定義

トリガー

内部時計の時刻と指定時刻の合致や、任意のイベントの発生といった、特定の条件の総称

時刻トリガー

内部時計の時刻と指定時刻が合致するという条件

イベントトリガー

任意のイベントが発生するという条件

アクション

トリガが起動したことによって実行される動作

### 3. 機能詳細

スケジュール機能は、発動条件として「トリガー」、動作として「アクション」の2つを指定することによって、任意の時刻やイベントの発生に起因して特定の処理を実行させる機能です。

#### 3.1. 時刻トリガー

任意の年月日および任意の時分秒を時刻トリガーとして指定することができます。
時刻トリガーは schedule コマンドで設定します。
指定可能な条件は以下となります。

種別 | 指定方法 | 設定値の例
--- | --- | ---
日付 | 月 1-12 | 任意の月のみ (例:12月のみ) | 12
任意の複数の月のみ (例:1月と2月のみ) | 1,2
任意の月から12月まで (例:2月から12月まで) | 2-
任意の月から任意の月まで (例:2月から7月まで) | 2-7
1月から任意の月まで (例:1月から7月まで) | -7
毎月 | *
日 1-31 | 任意の日のみ (例:1日のみ) | 1
任意の複数の日のみ (例:1日と2日のみ) | 1,2
任意の日から月末まで (例:2日から月末まで) | 2-
任意の日から任意の日まで (例:2日から7日まで) | 2-7
1日から任意の日まで (例:1日から7日まで) | -7
毎日 | *
任意の曜日のみ (例:月曜日のみ) | mon
任意の複数の曜日のみ (例:土曜日と日曜日のみ) | sat,sun
任意の曜日から任意の曜日まで (例:月曜日から金曜日まで) | mon-fri
日曜日から任意の曜日まで (例:日曜日から金曜日まで) | -fri
時分秒 | 時 0-23 | 任意の時のみ (例:23時のみ) | 23
任意の複数の時のみ (例:1時と22時のみ) | 1,22
任意の時から23時まで (例:2時から23時まで) | 2-
任意の時から任意の時まで (例:2時から21時まで) | 2-21
0時から任意の時まで (例:0時から21時まで) | -21
毎時 | *
分 0-59 | 任意の分のみ (例:59分のみ) | 59
任意の複数の分のみ (例:1分と50分のみ) | 1,50
任意の分から59分まで (例:2分から59分まで) | 2-
任意の分から任意の分まで (例:2分から50分まで) | 2-50
0分から任意の分まで (例:0分から50分まで) | -50
毎分 | *
秒 0-59 | 任意の秒のみ (例:59秒のみ) 省略可能 | 59

#### 3.2. イベントトリガー

任意のイベントをイベントトリガーとして指定することができます。
イベントトリガーは schedule コマンドで設定します。
指定可能なイベントは以下となります。

種別 | 説明
--- | ---
startup | 起動した時点で実行される
sd-attached | microSDカードがアタッチされた時点で実行される

#### 3.3. アクション

時刻トリガーまたはイベントトリガーが起動することによって実行される動作をアクションと呼びます。
アクションの指定は schedule template コマンドでスケジュールテンプレートモードに遷移してから cli-command コマンド、または script コマンドで設定します。
アクションには以下の2つがあります。

動作 | 設定コマンド | 説明
--- | --- | ---
指定コマンドの実行 | cli-command コマンド | 指定されたコマンドをIDが小さい方から順に実行する。
指定スクリプトの実行 | script コマンド | 外部メモリ (microSD メモリ) 内の指定されたファイル /(機種名)/schedule/script.txt の中の文字列をファイルの 先頭から100行目まで コマンドとして実行する。

### 4. 関連コマンド

関連コマンドについて、以下に示します。
コマンドの詳細は、コマンドリファレンスを参照願います。

操作モード | コマンド | 説明
--- | --- | ---
グローバルコンフィグレーションモード | schedule | トリガーの指定とアクションを定義したスケジュールテンプレートIDの指定
schedule template | スケジュールテンプレートIDを指定し、スケジュールテンプレートモードへ遷移
スケジュールテンプレートモード | description | スケジュールテンプレートの説明の設定
action | スケジュールテンプレートの有効・無効の設定 一時的にスケジュール機能を無効にしたい場合に disable とする。
cli-command | トリガーの起動によって実行されるコマンド定義

### 5. 設定例

#### 5.1. 特定の時間帯だけ無線LANアクセスポイントにPoE給電する場合

平日の8:00から17:00だけport1.1とport1.2に接続されている無線LANアクセスポイントにPoE給電を行います。

    Yamaha#
    Yamaha# configure terminal
    Yamaha(config)# schedule 1 time */mon-fri 8:00:00 1
    Yamaha(config)# schedule template 1
    Yamaha(config-schedule)# cli-command 1 configure terminal
    Yamaha(config-schedule)# cli-command 2 interface port1.1-2
    Yamaha(config-schedule)# cli-command 3 power-inline enable
    Yamaha(config-schedule)# exit
    Yamaha(config)#
    Yamaha(config)# schedule 2 time */mon-fri 17:00:00 2
    Yamaha(config)# schedule template 2
    Yamaha(config-schedule)# cli-command 1 configure terminal
    Yamaha(config-schedule)# cli-command 2 interface port1.1-2
    Yamaha(config-schedule)# cli-command 3 power-inline disable
    Yamaha(config-schedule)# end
    Yamaha#

#### 5.2. microSD挿入時に内部情報を取得

microSDカードを挿したときに自動でtech-supportをmicroSDに保存する

    Yamaha#
    Yamaha# configure terminal
    Yamaha(config)# schedule 1 event sd-attached 1
    Yamaha(config)# schedule template 1
    Yamaha(config-schedule)# cli-command 1 copy tech-support sd
    Yamaha(config-schedule)# end
    Yamaha#

### 6. 実行禁止コマンド

スケジュール機能では、以下のコマンドを実行することはできません。

- backup system

- baudrate select

- boot prioritize sd / no boot prioritize sd

- certificate user

- clock で始まるコマンド

- cold start

- copy radius-server local

- crypto pki generate ca / no crypto pki generate ca

- disable

- enable password

- exit

- firmware-update execute

- firmware-update sd execute

- logout

- ntpdate / no ntpdate で始まるコマンド

- password / no password

- password-encryption / no password-encryption

- ping /ping6

- quit

- reload

- remote-login

- restart

- restore system

- schedule / no schedule

- schedule template / no schedule template

- show で始まるコマンド

- ssh

- ssh-server host key generate

- stack / no stack で始まるコマンド

- startup-config select / no startup-config select

- telnet

- traceroute / traceroute6

### 7. SYSLOG

スケジュール機能では、以下のSYSLOGが出力されます。

レベル | 出力 | 説明
--- | --- | ---
Info | [SCHEDULE]:inf:ID:X command is done | トリガーの起動によりスケジュールテンプレートID:Xのコマンドが実行された
[SCHEDULE]:inf:ID:X script is done | トリガーの起動によりスケジュールテンプレートID:Xのスクリプトが実行された
Error | [SCHEDULE]:err:ID:X cmd[ID][COMMAND] is prohibited to execute | スケジュールテンプレートID:Xで禁止コマンドCOMMANDの実行が抑止された
[SCHEDULE]:err:ID:X cmd[ID][COMMAND] is failed to execute | スケジュールテンプレートID:Xでコマンドフォーマットが不正だったり、不適切なパラメーターによってコマンド実行に失敗した
[SCHEDULE]:err:ID:X microSD is not mounted | スケジュールテンプレートID:Xでスクリプトを実行しようとしたときにmicroSDが挿入されていなかった
[SCHEDULE]:err:ID:X failed to get the schedule forlder path | スケジュールテンプレートID:Xでスクリプトを実行しようとしたときに、実行するスクリプトが存在するべきディレクトリが存在しなかった
[SCHEDULE]:err:ID:X script is not found | スケジュールテンプレートID:Xでスクリプトを実行しようとしたときに、スクリプトファイルが存在しなかった
[SCHEDULE]:err:ID:X failed to add action to queue | スケジュールテンプレートID:Xでアクションを実行しようとしたが、実行待ちアクションが多いためアクションを破棄した

### 8. 注意事項

- アクションが実行されるとき、cli-commandはIDが小さい方から実行されます。

- アクションが実行されるとき、cli-comanndで指定したコマンドが実行エラーになったとしても残りのコマンドは実行されます。

- 1つのスケジュールテンプレートにcli-commandとscriptコマンドの両方が設定されている場合、scriptコマンドが実行され、cli-commandは実行されません。

- 複数のトリガーが同時に起動したときは、スケジュールテンプレートIDが小さい方から順にアクションが実行されます。

- スタックが構成された機器では以下の注意事項があります。

  - スタックのメンバースイッチでは、 startup イベントトリガーは起動しません。

  - スタックのメンバースイッチでは、 sd-attached イベントトリガーは起動しません。

- スタックが有効でスタンドアローン状態のとき、トリガーは起動しません。

- clock setコマンドによる時刻手動設定およびNTPによる時刻更新によってトリガー起動の時刻が経過してしまった場合、現在時刻が変更された時点から59秒以内に起動すべきトリガーが存在した場合には、そのトリガーは起動されます。

- clock setコマンドによる時刻手動設定およびNTPによる時刻更新によって時刻が後退した場合、後退後の時刻から再度時刻トリガーのチェックが行われます。

- 本機能を用いることで、コンフィグの保存など定期的に行うことができますが、定期的な書き込みはROMの消耗を早めます。頻繁に書き込みを行ったことが原因でROMの故障に至った場合は、保証期間内であっても無償修理の対象外となりますのでご注意ください。

### 9. 関連文書

- なし

Search result
No more search results.
There are no topics that match your search query.