COMMAND = HOSTADDR 前回はパスワードを変数にすることを学びました。. ;; ⑨マクロ終了 Tera Term のマクロ ... logwrite 形式:logwrite ... #13#10 は改行です。これがないと同じ行に続けて書き込 まれます。 通信コマンド系のマクロ学習では実際にTeratermを接続して マクロのサンプルを使用し … ;; ②接続ホストIPアドレス指定 ; Created : 2011/04/17 ; modified : ;============================================ ;; ⑧ホスト一覧ファイルクローズ endif strconcat COMMAND PASSWORD filereadln HOSTLIST HOSTNAME USERNAME = 'ユーザ名' logwrite ログにコメントを書き込む 形式:logwrite 例:[ログにコメントを入れる]logwrite "SW001のログ" sendfile ファイルを送信 形式:sendfile 例:[sw001.cfgを送信]sendfile 'sw001.cfg' 1 sendkcode キーコードを送信 end ;; ホスト一覧ファイル指定 PASSWORD = 'パスワード' HOSTADDR = 'xxx.xxx.xxx.xxx' connect 'xxx.xxx.xxx.xxx /ssh /1 /auth=password /user=USER /passwd=PASS' 便利で高機能なツール=Tera Term(テラターム)のインストール方法から各種設定手順(カスタマイズ方法)や、便利な自動ログイン・自動ログ取得等々のマクロ機能についてご紹介しています。, 前回、「while,endwhile」の制御コマンドを使用し、複数ホストの機器情報を自動で取得する事が出来るテラタームマクロをご紹介させていただきました。 ⇒ Tera Termマクロ-機器情報を自動収集するMACRO, ここでは、接続先ホストの機器情報の取得では無く、ホスト上で記録されているログからある特定のキーワードのログを抜き出してくるマクロをご紹介したいと思います。, ホスト一覧ファイルから順番にホスト情報(IPアドレス等)を読み込み、各ホストへ自動接続を行います。接続が完了すると、接続ホスト上で指定のコマンドを実行し、そのコマンド実行結果をTeraTerm側のログファイルに記録します。, 今回「grep err /var/log/massages」コマンドを実行しています。 このファイルは、最新のRedHat系OSで一般ユーザに読み込み権限が付与されていません。接続するユーザの読み込み権限が必要になりますのでご注意ください。, またここでは、マクロ側でログ取得を制御ています。「設定」メニューから「その他の設定」を選択し、「ログ」タブより「自動的にログ採取を開始する」のチェックを外してください。, ①接続するホスト情報はファイルから読み込み ②接続ユーザ/パスワードは固定で設定 ③各機器のログを単一ファイルに保存, ;=========================================================== HOSTFILE = 'C:\work\test.txt' :SETSUZOKU changedir 'E:\log\teraterm' logopen filename 0 0 logwrite 'Log start'#13#10 logwrite '*****'#13#10まずは、カレントディレクトリを変更します。 標準はTeratermがインストールされたフォルダに入ります。 'Input error' HOSTADDR = 'xxx.xxx.xxx.xxx' strconcat COMMAND ' /passwd=' closett ; Description : SSH Auto login wait '$' '#' マクロのログを保存する場所を変更する . Copyright (C) 2020 Tera Term(テラターム)の便利な使い方 All Rights Reserved. ファイルが正しくオープンされた場合、ファイルハンドルが整数変数 に格納されます。, Tera Term のマクロ ... logopen 'myhost.log' 0 0 logpause logwrite '-- macro write --'#13#10 logpause実行後やメッセージボックス表示させている 間などのLogの更新が無い状態の時に書き込んだ方が Logを編集しやすいと思います。 まあこんな奴ですが、皆様お付き合いの程、よろしくお願い致します。. ; Created : 2011/03/20 while result = 0 endwhile 文字列 を Tera Term のログファイルに追加して書き込む。 このコマンドは Tera Term がログを取っている時だけ有効。 logwrite #13#10 ;; ①ログファイル名の設定 logwrite '■ホスト名 : ' ;; ⑤マクロ終了 Use 'connet' macro, という表示がでます。いままで、これ厄介だと思っていました。接続をしないとログが記録できないなんて。。面倒でも、一旦Teratermを立ち上げてから、マクロを起動すればよいのですがそれはそれでちょっと鬱陶しい。ということで、思いつきました。connectコマンドを使って”接続しなければよい”。https://ttssh2.osdn.jp/manual/ja/commandline/teraterm.html(参照させていただいたサイト)ええ、起動時のオプションで/DS起動時に "New connection" ダイアログを表示しない。いつものこの画面がでなくなるわけですね!, こんなものがあるじゃないですか。マクロの冒頭に、connectコマンドにオプションを付けるといいわけですね。connect '/DS'こうすれば、この先で何をしてもLink macro firstとは怒られない。こういう小ネタってみなさんご存知なんでしょうね。。知らぬは自分だけ(自虐), https://ttssh2.osdn.jp/manual/ja/commandline/teraterm.html. このコマンドは Tera Term がログを取っている時だけ有効。ログを一時中断している時でも書き込むことができる。 例: logwrite 'LOG FILE'#13#10 . end, 接続先ホスト選択エリアでは、ホスト一覧のポップアップメニューを表示し、接続したいホストの番号を入力する事で、接続先ホストを選択します。, 接続先ホストIPアドレス指定エリアでは、項番①接続先ホスト選択で入力された番号によって、対象ホストのIPアドレスを指定しています。, 入力した番号によって「IPアドレス」を指定するのですが、if文の条件分岐では、数字で判定を行っています。, そのまま進めると「Type mismatch.」のマクロエラーになってしまいます。, そこで「str2int」コマンドを使用し、「str2int HOSTNUMB inputstr」の行で文字列を数字に変換を行ってからif文で条件分岐を行います。, 今回あえてわかりやすいように、選択するホスト名やIPアドレスをマクロ内に直接記述しています。マクロ内の「IPアドレス」部分は各自で修正してください。, コマンド組立てエリアでは、TeraTermマクロでSSH接続(パスワード認証)に必要な情報の文字列を作成しています。, 変数「COMMAND」に「strconcat」コマンドを使用し文字を継ぎ足していく事で接続するための文字列を作成しています。, 接続先ホストにIPアドレスを設定した場合は、以下のような文字列が作成される事になります。(xxx.xxx.xxx.xxx部分は、IPアドレスです), ;;作成する文字列 ;; ①接続先ホスト選択 if result = 0 goto END 0の場合、ファイルポインタの位置はファイルの始めにセットされます。0以外の場合、ファイルポインタはファイルの最後にセットされます。, [filereadln]コマンドで、ホスト一覧ファイルからホスト情報(一行)を読み込み変数「HOSTNAME」に格納しています。, [filereadln]コマンド書式(△はスペース) strconcat COMMAND ':22 /ssh /2 /auth=password /user=' 前回、「while,endwhile」の制御コマンドを使用し、複数ホストの機器情報を自動で取得する事が出来るテラタームマクロをご紹介させていただきました。 ⇒ Tera Termマクロ-機器情報を自動収集するMACRO. ⇒ 「strconcat」コマンドの詳細はこちらを参照してください, SSHの接続で明示的に接続ポートとSSHバージョンを指定していますが、指定しなくても接続は可能です。, ;;コマンド例 しかしお金持ちにはなってませんのであしからず・・・, トイレ掃除が終わると、次はお風呂掃除が待ちかまえています。 end ;; ③コマンド組立て logopen FULLPATH 1 1 ;; コマンド組立て ;===========================================================, '************************************************', TeraTermマクロ-TELNET自動ログイン(ホスト入力/ユーザ・パス固定版). 222.222.222.222 しかしお金持ちにはなってませんのであしからず・・・, トイレ掃除が終わると、次はお風呂掃除が待ちかまえています。 ;=========================================================== connect 'xxx.xxx.xxx.xxx /ssh /2 /auth=password /user=USER /passwd=PASS' return strconcat COMMAND PASSWORD 寝癖が結構ひどいので、朝シャンがてらお風呂掃除に励んでいます。, しっかりと嫁に調教されてますね!(風水で始めたはずなのですが・・・) sendln 'grep err /var/log/massages' ;============================================, 'xxx.xxx.xxx.xxx /ssh /auth=password /user=USER /passwd=PASS', 'xxx.xxx.xxx.xxx /ssh /1 /auth=password /user=USER /passwd=PASS', 'xxx.xxx.xxx.xxx /ssh /2 /auth=password /user=USER /passwd=PASS', 'xxx.xxx.xxx.xxx:22 /ssh /1 /auth=password /user=USER /passwd=PASS', 'xxx.xxx.xxx.xxx:22 /ssh /2 /auth=password /user=USER /passwd=PASS', TeraTermマクロ-TELNET自動ログイン(ホスト入力/ユーザ・パス固定版). ;; ⑦ホスト一覧ファイルからホスト名を読み込む Tera Term(テラターム)のマクロ機能を利用し、SSHプロトコル(パスワード認証 = ユーザ名+パスワードでログインを行う接続方法)でサーバに自動ログインするマクロをご紹介します。 今回ご紹介するのは、以下のような・・・ getdate LOG_NAME '%Y%m%d_%H%M%S.log' ;=========================================================== 便利で高機能なツール=Tera Term(テラターム)のインストール方法から各種設定手順(カスタマイズ方法)や、便利な自動ログイン・自動ログ取得等々のマクロ機能についてご紹介しています。, Tera Term(テラターム)のマクロ機能を利用し、SSHプロトコル(パスワード認証 = ユーザ名+パスワードでログインを行う接続方法)でサーバに自動ログインするマクロをご紹介します。, ①接続先ホスト情報は、あらかじめ設定している表示メニューから選択 ②接続ユーザ名/パスワードは、TTLファイルに直接記述, このテラタームマクロを実行する事により、ポップアップメニューから接続先ホストを選択する事で、ユーザ名、及びパスワードを入力する必要なくサーバに自動でログインする事が可能となります。, 管理対象サーバが少なく、また接続先ホスト全てに同じ管理用ユーザが設定されている場合に便利になってくるマクロです。, *TTLファイルとは Tera Termのマクロ言語TTL(Tera Term Language)で作成されたファイルで通常拡張子が、*.ttlで保存されているファイルの事です。, ;============================================