トイレ掃除を始めてかれこれ10年目を迎えました。 ; Filename : ssh_connect-14.ttl ;============================================ しかしお金持ちにはなってませんのであしからず・・・, トイレ掃除が終わると、次はお風呂掃除が待ちかまえています。 ;; 文字列を数字に変換 strconcat COMMAND USERNAME という表示がでます。いままで、これ厄介だと思っていました。接続をしないとログが記録できない なんて。 getdate LOG_NAME '%Y%m%d_%H%M%S.log' ===================================== ;; ⑦ホスト一覧ファイルからホスト名を読み込む まあこんな奴ですが、皆様お付き合いの程、よろしくお願い致します。. ;=========================================================== strconcat COMMAND ' /passwd=' logwrite #13#10 ;; ⑤マクロ終了 #444.444.444.444 ← コメント行の場合は、次の行を読み込みます 朝起きるとふらっとトイレに向かう自分がいます。 MESSAGE = 'Please choose a connection host. changedir 'E:\log\teraterm' logopen filename 0 0 logwrite 'Log start'#13#10 logwrite '*****'#13#10まずは、カレントディレクトリを変更します。 標準はTeratermがインストールされたフォルダに入ります。 ; Created : 2011/03/20 ;; ユーザ名/パスワード設定 Tera Term のマクロ ... logwrite 形式:logwrite ... #13#10 は改行です。これがないと同じ行に続けて書き込 まれます。 通信コマンド系のマクロ学習では実際にTeratermを接続して マクロのサンプルを使用し … ;; ⑧ホスト一覧ファイルクローズ 555.555.555.555 send 'abc'#13#10 "sendln 'abc'" と同じ。実際にホストへ送られる改行文字は Tera Term の設定により決まる。 wait #10'abc' 'def'#13: 行頭の "abc"、行末の "def" を待つ。 logwrite 'abc'#13#10: ログファイルに改行文字を書き込む場合は必ずCR+LFにする。 ; Author : JUNZOU while result = 0 ;; *****サブルーチン***** 朝起きるとふらっとトイレに向かう自分がいます。 文字列 を Tera Term のログファイルに追加して書き込む。 このコマンドは Tera Term がログを取っている時だけ有効。 ;; ③コマンド組立て ; Created : 2011/04/17 ;; 接続判定(接続出来ない場合はメッセージを表示しマクロ終了) しかしお金持ちにはなってませんのであしからず・・・, トイレ掃除が終わると、次はお風呂掃除が待ちかまえています。 logwrite #13#10 寝癖が結構ひどいので、朝シャンがてらお風呂掃除に励んでいます。, しっかりと嫁に調教されてますね!(風水で始めたはずなのですが・・・) logwrite '*****'#13#10 こんな感じでマクロの冒頭にして実行しようとすると、しょっぱなから Link macro first. connect 'xxx.xxx.xxx.xxx /ssh /1 /auth=password /user=USER /passwd=PASS' HOSTFILE = 'C:\work\test.txt' ;; ⑨マクロ終了 Copyright (C) 2020 Tera Term(テラターム)の便利な使い方 All Rights Reserved. if result = 0 goto END endif fileclose HOSTLIST messagebox 'The unjust number was input.' 便利で高機能なツール=Tera Term(テラターム)のインストール方法から各種設定手順(カスタマイズ方法)や、便利な自動ログイン・自動ログ取得等々のマクロ機能についてご紹介しています。, 前回、「while,endwhile」の制御コマンドを使用し、複数ホストの機器情報を自動で取得する事が出来るテラタームマクロをご紹介させていただきました。 ⇒ Tera Termマクロ-機器情報を自動収集するMACRO, ここでは、接続先ホストの機器情報の取得では無く、ホスト上で記録されているログからある特定のキーワードのログを抜き出してくるマクロをご紹介したいと思います。, ホスト一覧ファイルから順番にホスト情報(IPアドレス等)を読み込み、各ホストへ自動接続を行います。接続が完了すると、接続ホスト上で指定のコマンドを実行し、そのコマンド実行結果をTeraTerm側のログファイルに記録します。, 今回「grep err /var/log/massages」コマンドを実行しています。 このファイルは、最新のRedHat系OSで一般ユーザに読み込み権限が付与されていません。接続するユーザの読み込み権限が必要になりますのでご注意ください。, またここでは、マクロ側でログ取得を制御ています。「設定」メニューから「その他の設定」を選択し、「ログ」タブより「自動的にログ採取を開始する」のチェックを外してください。, ①接続するホスト情報はファイルから読み込み ②接続ユーザ/パスワードは固定で設定 ③各機器のログを単一ファイルに保存, ;=========================================================== Tera Termマクロでよく使われるTTLコマンドTips 71,812件のビュー; ... %s %s'#13#10#13#10 currentdate currenttime logwrite … もう、マクロに対する抵抗感もなくなっている事だと思います。 … =====================================, 行を読んでいる間にファイルポインタがファイルの最後に達した場合、システム変数「result」に 1 が格納されます。それ以外の場合は 0 が格納されます。, [strlen]コマンドで、読み込んだ一行が空白(改行のみ)でないかを確認しています。[strlen]コマンドは、文字列の長さを返すコマンドです。, [strmatch]コマンドで先頭文字がコメント「#」ではないか確認しています。[strmatch]は、正規表現によるパターンマッチングを行うコマンドです。, [filereadln]コマンドで、ホスト一覧ファイルから接続ホスト情報を読み込んでいます。, ホスト一覧ファイルから読み込んだ情報でサーバにログインし「grep err /var/log/messages」の実行結果をTeraTerm側のログファイルに記録しています。, 昔々、Dr.コパを師と仰ぎ水場の掃除・塩盛りを開始。 strconcat FULLPATH LOG_NAME まあこんな奴ですが、皆様お付き合いの程、よろしくお願い致します。. 放置していたこのブログ、誰が見るのか。。さて、それはおいておいて、自分のために備忘録を作ろうと思いました。仕事でTeratermマクロを作ることが多くなってきたのですが、周りはそんなことをやってくれる人がおらず。。良く困ること、、ログ保管です。たとえばchangedir 'c:\temp' ; 作業ログ保管フォルダ c:\tempgetdate logfile "-%Y%m%d-%H%M%S"strconcat filename logfilestrconcat filename '.log'logopen filename 0 0logwrite '*****************************************************'#13#10こんな感じでマクロの冒頭にして実行しようとすると、しょっぱなからLink macro first. wait '$' '#' fileopen△
△ホストリストファイル名△, ■解説 Tera Term(テラターム)のマクロ機能を利用し、SSHプロトコル(パスワード認証 = ユーザ名+パスワードでログインを行う接続方法)でサーバに自動ログインするマクロをご紹介します。 今回ご紹介するのは、以下のような・・・ ; modified : ;; ②ホスト一覧ファイルオープン logopen FULLPATH 1 1 sendln 'grep err /var/log/massages' connect 'xxx.xxx.xxx.xxx:22 /ssh /2 /auth=password /user=USER /passwd=PASS', 最近ではセキュリティ強化で接続ポートを変更しているVPSサーバ等もありますので、その際は接続ポートを変更してみてください。, 接続のエリアでは、項番①で作成した変数(文字列)「COMMAND」を使用し、「connect」コマンドで対象ホストへSSH接続を行います。, 自動ログインが完了するとマクロ機能を終了します。マクロを終了してもセッションは維持され、通常のコンソール操作が継続して行えます。, 今回ご紹介したテラタームマクロは、管理対象ホストにログインする際のユーザ名・パスワードが固定されている環境でかなり便利になってくるマクロです。もし現在ご利用の環境にマッチするのであればご利用いただければ幸いです。, 昔々、Dr.コパを師と仰ぎ水場の掃除・塩盛りを開始。 logwrite '■ホスト名 : ' logwrite '************************************************'#13#10 5.2.1. '#13#13 ; Description : SSH Auto login ;=========================================================== logwrite HOSTNAME strconcat MESSAGE ' 3 - host03(zzzzzサーバ)' :SETSUZOKU USERNAME = 'ユーザ名' Tera Term のマクロについて ... logopen 'myhost.log' 0 0 logpause logwrite '-- macro write --'#13#10 logpause実行後やメッセージボックス表示させている 間などのLogの更新が無い状態の時に書き込んだ方が Logを編集しやすいと思います。 HOSTADDR = 'xxx.xxx.xxx.xxx' 333.333.333.333 connect 'xxx.xxx.xxx.xxx /ssh /auth=password /user=USER /passwd=PASS' ;; 接続 'Input error' if result <> 2 return str2int HOSTNUMB inputstr connect COMMAND Tera Term のマクロについて ... logwrite 形式:logwrite [string] ... #13#10 は改行です。これがないと同じ行に続けて書き込 まれます。 通信コマンド系のマクロ学習では実際にTeratermを接続して マクロのサンプルを使用してください。 ã£ã³ãã¼ æå, ãã³ã³ F2 ã¢ã¤ ã¬ãã«ãã¡ã¤ã³ãã¼, ãã©ãã¤ã é«è§£å度 ã¹ã©ã¤ãã³ãã¼ã¢ããã¿ã¼, ä¸ç´ å°å èªåè» æ´å士 ããã¹ã. 前回はパスワードを変数にすることを学びました。. COMMAND = HOSTNAME strlen HOSTNAME ⇒ 「strconcat」コマンドの詳細はこちらを参照してください, SSHの接続で明示的に接続ポートとSSHバージョンを指定していますが、指定しなくても接続は可能です。, ;;コマンド例 if result <> 1 CALL SETSUZOKU ;; ⑥先頭行がコメント(#)の場合、次の行を読み込む end ; Author : JUNZOU ;; ⑤空白行の場合、次の行を読み込む strmatch HOSTNAME '^#' filereadln△△, ファイルハンドル で指定されるファイルから一行読み込む。読み込まれた行は、文字列変数 に格納されます。, C:\hostlist.txt 記述例) closett ;; ユーザ名/パスワード設定 xxx.xxx.xxx.xxx:22 /ssh /2 /auth=password /user=#### /passwd=####, TTLコマンド「strconcat」コマンドは、文字列を継ぎ足す機能があります。 ;; ③ホスト一覧ファイルから接続ホスト(一行)読み込み ;; ①ログファイル名の設定 strconcat COMMAND ' /passwd=' ;; 情報取得 ファイルが正しくオープンされた場合、ファイルハンドルが整数変数 に格納されます。, マクロのログを保存する場所を変更する . connect 'xxx.xxx.xxx.xxx /ssh /2 /auth=password /user=USER /passwd=PASS' logwrite ログにコメントを書き込む 形式:logwrite 例:[ログにコメントを入れる]logwrite "SW001のログ" sendfile ファイルを送信 形式:sendfile 例:[sw001.cfgを送信]sendfile 'sw001.cfg' 1 sendkcode キーコードを送信 ;============================================, '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自動ログイン(ホスト入力/ユーザ・パス固定版). ;; ログ取得開始 ;; ①接続先ホスト選択 strconcat COMMAND PASSWORD strconcat MESSAGE ' 2 - host02(yyyyyサーバ)'#13 ;; コマンド組立て HOSTADDR = 'xxx.xxx.xxx.xxx' 前回、「while,endwhile」の制御コマンドを使用し、複数ホストの機器情報を自動で取得する事が出来るテラタームマクロをご紹介させていただきました。 ⇒ Tera Termマクロ-機器情報を自動収集するMACRO.