今回の目的
今までの投稿のマクロを参考にしながらメールサーバーに使うと役に立ちそうなTeraTermマクロを作る。
前回の記事の紹介
前回はlogの自動化やrootの昇格を自動化するマクロの作り方や説明をしています。こちらを見てからの方が理解が深まるかもしれないのでお勧めします。(テイのいい宣伝)
早速マクロのコードを見てみる
catmaillog.ttl
;接続情報
username = 'XXXX' ;ログインするサーバーのユーザー名
rusername = 'root' ;rootのユーザー名
hostname = 'XXX.XXX.XXX.XXX' ; ログインするサーバーのホスト名またはIPアドレス
passwdfile = 'passwd.dat' ; パスワード暗号化ファイル
rpasswdfile = 'rpasswd.dat' ;rootアカウントのパスワード暗号化ファイル
portnum = '22' ;port番号の指定
getdir dir ;Teratermマクロ配置ディレクトリを取得
;log directry
logdir = dir
strconcat logdir '\maillog\'
;there isn't logdirectry
foldersearch logdir
if result = 0 then
foldercreate logdir
endif
getpassword passwdfile username userpasswd ; パスワード暗号化ファイルからパスワード取得
getpassword rpasswdfile rusername ruserpasswd ; パスワード暗号化ファイルからrootユーザーのパスワード取得
msg = hostname
strconcat msg ':portnum /ssh /auth=password /user='
strconcat msg username
strconcat msg ' /passwd='
strconcat msg userpasswd
strconcat msg inputstr
connect msg
;logfile information
getdate logdate '%Y-%m-%d_%H%M%S'
strconcat logname logdir
strconcat logname logdate
strconcat logname '-mail.log'
;create logfile
logopen logname 1 0
;comand
wait '$'
sendln 'su'
wait 'パスワード:'
sendln ruserpasswd
wait '#'
sendln 'cat /var/log/maillog'
wait '#'
disconnect 0
end
;マクロ仕様============================================================================================
;一般ユーザーとしてログインする。
;初回ログイン時は一般ユーザーのパスワードとrootユーザーのパスワードを打ち込む必要がある。
;maillogはttlファイルの保存されているフォルダのmaillogというフォルダに保存する。なければ自動でフォルダを作る。
;maillogのファイル名はYYYY-MM-DD_HMS.log
;maillogは特殊文字の表示有り
;maillogを完全に取り終わったら自動でTeraTermを終了する
今回は前回の投稿と違う部分は少ししかない。
end
から上四行が違う部分なのだが、sendln 'cat /var/log/maillog'
の行はただ単にやりたいコマンドの文字列を送っているだけである。
今回のポイントはdisconnect 0
である。
disconnectの仕様
disconectはここでは0というオプションを指定している。
このオプションをつけないと、いったん本当に切断するか聞かれるダイヤログが表示される。
次回予告
今回はdisconectの解説だけで終わってしまって、このシリーズもそろそろネタ切れとなってしまいそうなのだが、次は初期設定値の確認に使えるマクロを紹介する。