TeraTerm マクロの使い方

2021/05/18 05:04 Tera Term::使い方

TeraTerm マクロの使い方

マクロとは、操作を自動化するための技術の総称です。
そのため、Tera Term マクロというと、Tera Term の操作を自動化するための技術、という意味になります。

マクロファイルとは、プログラムに行わせたいコマンドをそのままテキストファイルに記述したものです。
そのマクロを Tera Term に読み込ませる方法ですが、割と種類があります。

続きを読む

複数ホストへの同時コマンド実行(ブロードキャスト)

2021/05/18 20:10 Tera Term::使い方

ブロードキャスト機能

Tera Term というか、サーバの設定変更をしていると、複数台をまとめて設定変更したいケースが出てきます。
例えば、負荷分散している apache サーバに、それぞれ同じ静的コンテンツを格納したいとか。

そんなとき、1台ずつアクセスして、ファイルを送って、解凍して、確認して……とやっていると、最初は良くても何回か繰り返すうちにダレが出てきて、ミスを誘発するんですよね。
コマンドラインをテキストに落としておいて、サーバ毎にコピペする方法も良かったんですけど、コピペミスを劇的に減らしてくれる機能がありました。
(少なくとも私は減りました)

複数の Tera Term へ、まとめてコマンドを同時送信してくれる機能が、ブロードキャスト機能です。

ブロードキャストの使い方

どの端末でも良いのですが、メニューから「コントロール」→「ブロードキャストコマンド」を選択します。
ブロードキャスト選択


同時送信したい Tera Term 端末を選択して、送信したいコマンドを入力します。
この時、「リアルタイム」にチェックが入っていると、選択した端末に文字が送られているんですよね。
Enter を押せば、そのまま Enter が有効と。

ブロードキャスト入力


「リアルタイム」にチェックがない場合は送信ボタンをクリックするまでは送信されないので、入力ミスをチェックできるようにもなります。

また、個別に端末ウィンドウを選択すれば、選択した端末だけにコマンドを送ることも可能です。

この機能を使うときには限らないのですが、どの端末にどんなコマンドを送っているか、きちんと把握して事故の無いようにお願いします。

ログ自動取得設定を行う(デフォルト設定変更)

2021/05/21 05:01 Tera Term::使い方

ログ自動取得設定を行う(デフォルト設定変更)

ログは、ホストにアクセスした際に自動で取得を開始させることができます。
やり方は、大雑把に 3 種類あります。
ここでは、デフォルト設定の変更方法を記載します。

自動取得設定

まず、Tera Term のメニューから設定する方法です。
これは TERATERM.ini の設定内容を書き換えます。
(TERATERM.ini の詳細は teraterm.ini を参照してください)

まず、設定画面を呼び出します。
メニューから「設定(S)」→「その他の設定(D)」を選択します。

設定画面選択
設定画面選択

「標準ログファイル名(strftimeフォーマット可)(F)」に、自動で保存させたいファイル名を指定します。
また、忘れずに「自動的にログ採取を開始する(U)」にチェックを入れます。

設定内容入力
設定内容入力

※ 「標準のログ保存先フォルダ(S)」で、保存先を指定可能です。

設定変更した内容を保存するため、メニューから「設定(S)」→「設定の保存(S)」を選択します。

設定保存選択
設定保存選択

次回から自動でログ保存を行わせるために、TERATERM.ini のまま「保存(S)」をクリックします。

設定保存先選択
設定保存先選択

※ 別名で保存して Tera Term 起動時のオプションに設定ファイルを指定することで、個別に設定ファイルを読み込むことも可能です。

設定オプション

オプションは、次の通りです。
対象の項目
オプションは、デフォルトで次の通りにチェックが付けられています。

設定オプション
設定オプション

チェックの意味
それぞれ、チェックした場合の挙動は次の通りです。
オプションチェック説明
バイナリ(R)
あり
ホストから送られた文字をすべてファイルに書き込みます。エスケープシーケンス等を含みますので、テキストエディタで参照するには面倒ですが、あたかもホストから文字が送られてきたかのようにログの再生する機能を活用できます。
なし
漢字、改行コードは変換されて書き込まれます。エスケープシーケンスは書き込まれません。
追記(A)
あり
既存のファイルがあれば追記します。既存のものがなければ作ります。
なし
既存のファイルがあれば上書きします。既存のものは消えます。既存のものがなければ作ります。
プレーンテキスト(P)
あり
ASCII 非表示文字を書き込まれなくなります。バイナリで取得している場合は無効になります。
なし
ASCII 非表示文字もログに書き込まれます。
ダイアログを非表示(D)
あり
ログダイアログが表示されなくなります。あとで表示させることは可能です。
なし
ログダイアログが表示されます。ログのファイル名や現在のサイズを確認したり、途中でログ取得を一時停止したりといったことがしたい場合に便利です。
現在バッファを含む(C)
あり
現在の Tera Term に表示されているバッファも含めてログファイルに書き出します。バッファ分は、タイムスタンプ出力を選択しても無効です
なし
ログ取得開始時点からログファイルに書き出します。
タイムスタンプ(T)
あり
ログの行頭に時刻を追加できます。出力行の時刻は、その出力が開始された時刻です。コマンドが実行された時間を見る場合は、次の行のタイムスタンプになります。
なし
表示されたとおりにログ出力されます。

タイムスタンプの取得方法は、以下の選択肢があります。
選択肢機能
ローカルタイム端末の現在時刻を、ロケーションに応じて利用します。日本なら JST です。
UTC端末の現在時刻を UTC に変換して利用します。
経過時間(Logging)ログ取得開始時点からの経過時間を利用します。
経過時間(Connection)接続開始時点からの経過時間を利用します。

ログのローテート

長期間のログ取得を行いたいケース等では、ログが肥大化して不都合が発生することがあります。
そんな時に、ローテーションを行います。
対象の項目
デフォルトオプションは、チェックされていません。
ログのローテート
ログのローテート
指定の意味
チェックを入れて、次の内容で設定を行うことができます。
項目設定内容
サイズ(i)ローテーションを発生させるログのサイズを設定します。
1文字がおよそ 1byte *1です。
世代(R)過去何世代まで保存するかを設定します。例えば5世代に設定した場合、6世代目となった過去ログは削除されます。

strftime フォーマット

ログ名に指定可能な strftime フォーマットは、以下の通りです。

例えば、[アクセスしたホスト名]-[YYYY][MM][DD].log の形式にしたい場合は、&h-%Y%m%d.log と記入します。

フォーマットの詳細は strftime フォーマット で記載します。
書式意味
&hホスト名。未接続の場合は空。
&pTCP ポート番号。未接続の場合は空。TCP 接続でないときも空。
&uログオン中のユーザ名。
%a曜日の省略形。
%A曜日の正式名。
%b月の省略形。
%B月の正式名。
%cロケールに対応する日付と時刻の表現。
%d10 進数で表す月の日付 (01 ~ 31)。
%H24 時間表記の時間 (00 ~ 23)。
%I12 時間表記の時間 (01 ~ 12)。
%j10 進数で表す年初からの日数 (001 ~ 366)。
%m10 進数で表す月 (01 ~ 12)。
%M10 進数で表す分 (00 ~ 59)。
%p現在のロケールの午前/午後。
%S10 進数で表す秒 (00 ~ 59)。
%U10 進数で表す週の通し番号。日曜日を週の最初の日とする (00 ~ 53)。
%w10 進数で表す曜日 (0 ~ 6、日曜日が 0)。
%W10 進数で表す週の通し番号。月曜日を週の最初の日とする (00 ~ 53)。
%x現在のロケールの日付表現。
%X現在のロケールの時刻表現。
%y10 進数で表す西暦の下 2 桁 (00 ~ 99)。
%Y10 進数で表す 4 桁の西暦。
%z, %Zレジストリの設定に応じて、タイム ゾーンの名前または省略形を指定します。
タイム ゾーンが不明な場合は指定しません。
%%パーセント記号。

*1 : ASCII コードの場合は 1 文字 1byte だが、日本語の場合は 1 文字でも 1byte~数byte まで変化します。

ログの手動取得

2021/05/21 04:12 Tera Term::使い方

ログの手動取得

Tera Term でアクセス先サーバにログインしてコマンドで操作した情報は、ログとして取得することが可能です。
インストールのデフォルト(初期状態)では、何も保存しません。

Tera Term の画面 (バッファ) から消えてしまうと取得することができなくなってしまうため、ログイン前後でログを取得することをお勧めします。

以下の手順では、手動でログを取得します。

取得手順

Tera Term を起動した状態で、メニューから「ファイル(F)」→「ログ(L)」と選択します。

ログ保存選択
ログ保存選択

任意のフォルダを選択し、ファイル名に任意の名前を入力します。

オプション選択
オプション選択

オプションの設定内容は、次の通りです。
それぞれ、チェック項目の
あり
が、チェックを入れた場合の挙動で、
なし
の場合が、チェックを取りやめた場合の挙動の説明です。

ログ取得オプションの設定一覧
オプションチェック説明
バイナリ(R)
あり
ホストから送られた文字をすべてファイルに書き込みます。
エスケープシーケンス等を含みますので、テキストエディタで参照するには面倒です。
ただし、Tera Term の機能である「ログを再生」ではバイナリでログを取得することで、後から、あたかもホストから文字が送られてきたかのようにログを再生する機能を活用できます。
なし
漢字、改行コードは変換されて書き込まれます。
後からテキストエディタでログを参照するには適切です。
エスケープシーケンスは書き込まれません。
追記(A)
あり
既存のファイルがあれば追記します。
既存のものがなければ作ります。
なし
既存のファイルがあれば上書きします。なので、既存だったものは内容が消えます。
既存のものがなければ作ります。
プレーンテキスト(P)
あり
ASCII 非表示文字が書き込まれなくなります。
バイナリにチェックを入れた場合は無効になります。
なし
ASCII 非表示文字もログに書き込まれます。
ダイアログを非表示(D)
あり
旧来、ログを取得中には別に表示されていたログダイアログが表示されなくなります。
何十と Tera Term を開く場合には、倍の数のウィンドウが開かれてしまうので消せると便利です。
個別にログダイアログを表示させることは可能です。
なし
旧来通り、ログ取得中にログダイアログが表示されます。
次のようなことをしたい場合は、表示させる方が便利です。
・ログのファイル名や現在のサイズを確認する。
・途中でログ取得を一時停止する。
現在バッファを含む(C)
あり
現在の Tera Term に表示されているバッファも含めてログファイルに書き出します。
バッファ分は、タイムスタンプ出力を選択しても無効です。
なし
ログ取得開始時点から Tera Term の画面に表示される情報をログファイルに書き出します。
テストエビデンスを取得したい場合などで有効と思います。
タイムスタンプ(T)
あり
ログの行頭に、時刻を追加できます。
デフォルトでは、ローカルタイムが出力されます。
出力行の時刻は、その出力が開始された時刻です。
コマンドが実行された時間を見る場合は、次の行のタイムスタンプになります。
バイナリにチェックを入れた場合は無効になります。
なし
表示されたとおりにログ出力されます。

タイムスタンプの取得方法は、以下の選択肢があります。
選択肢機能
ローカルタイム端末の現在時刻を、ロケーションに応じて利用します。日本なら JST です。
UTC端末の現在時刻を UTC に変換して利用します。
経過時間(Logging)ログ取得開始時点からの経過時間を利用します。
経過時間(Connection)接続開始時点からの経過時間を利用します。

「保存」ボタンをクリックすると、ログの取得が開始されます。

strftime フォーマット

ログ名に指定可能な strftime フォーマットは、以下の通りです。

例えば、[アクセスしたホスト名]-[YYYY][MM][DD].log の形式にしたい場合は、&h-%Y%m%d.log と記入します。

strftime フォーマットの書式
書式意味
&hホスト名。未接続の場合は空。
&pTCP ポート番号。未接続の場合は空。TCP 接続でないときも空。
&uログオン中のユーザ名。
%a曜日の省略形。
%A曜日の正式名。
%b月の省略形。
%B月の正式名。
%cロケールに対応する日付と時刻の表現。
%d10 進数で表す月の日付 (01 ~ 31)。
%H24 時間表記の時間 (00 ~ 23)。
%I12 時間表記の時間 (01 ~ 12)。
%j10 進数で表す年初からの日数 (001 ~ 366)。
%m10 進数で表す月 (01 ~ 12)。
%M10 進数で表す分 (00 ~ 59)。
%p現在のロケールの午前/午後。
%S10 進数で表す秒 (00 ~ 59)。
%U10 進数で表す週の通し番号。日曜日を週の最初の日とする (00 ~ 53)。
%w10 進数で表す曜日 (0 ~ 6、日曜日が 0)。
%W10 進数で表す週の通し番号。月曜日を週の最初の日とする (00 ~ 53)。
%x現在のロケールの日付表現。
%X現在のロケールの時刻表現。
%y10 進数で表す西暦の下 2 桁 (00 ~ 99)。
%Y10 進数で表す 4 桁の西暦。
%z, %Zレジストリの設定に応じて、タイム ゾーンの名前または省略形を指定します。
タイム ゾーンが不明な場合は指定しません。
%%パーセント記号。