残してますか?作業ログ。

残してますか?作業ログ。

作業ログを残してますか?

何かしらサーバトラブルがあればサーバへアクセスし状態を確認したり必要であれば再起動したりしますよね。

Linux系やネットワーク系機器での作業の場合再起動してしまったら、その作業証跡の回収はほぼ不可能です

その時確認した状態を覚えていられれば良いのですがそんな事覚えていられる訳がなく、失敗したと嘆いたことはしばしばあります…

主にTeraTermやコマンドプロンプトを使っているのですが、ログを取る習慣をつければそんな事なくなります。

また、作業ログを残すことは何を行ったか自身の保身にもなるので面倒臭がらずログは残す癖を付けちゃいましょう。

今回はそんな話です。

 

TeraTerm

TeraTermを実行し、ファイル > ログ を選択するとログ出力のウィザードが表示され以降の作業ログが記録できます。

これでも良いのですが、TeraTermは自動でログ出力設定の機能があるので忘れっぽい人はこっちを利用すると良いでしょうか。

設定 > その他の設定 > ログ

エディタやログ保存場所は任意の設定をしてください。
オプションは追記、プレーンテキスト、タイムスタンプを設定していれば問題ないでしょうか。
標準ログファイル名については作成時間(%Y%m%d_%H%M%S)を入れておけば後々ログを確認する場合探すのが比較的楽になりますね。
アクセス先のサーバ名もファイル名に入れたい場合もありますが、
踏み台サーバを先にアクセスすることが多々あるため私は設定していませんが以下のように“&h”を入れれば
ログファイル名にファイル名 or IPアドレスも設定され自動で出力されます。

標準ログファイル名(strftimeフォーマット可):「&h_%Y%m%d_%H%M%S.log」

自動的にログ採取を開始する のチェックボックスを有効化にして最後に設定の保存 をすれば以降自動で作業ログが保存されますのでお忘れなく。

 

コマンドプロンプト

コマンドプロンプトはTeraTermのような自動でログ保存される機能はありませんので作業後にコマンドプロンプトのヘッダ部分を右クリック > 編集 > すべて選択からテキストファイルへ保存する必要があります。

これも忘れてしまいがちですね。

そこでBashを導入することで作業ログを残せるようにしたいと思います。

まず、Linux 用 Windows サブシステム を設定します。

コントロールパネルを実行してプログラム をクリック。

Windows の機能の有効化または無効化 をクリック

Linux 用 Windows サブシステム を有効化にします。

※バージョンによっては「Windows Subsystem for Linux」との事。

再起動後、WindowsストアからUbuntuをインストールします。

“Ubuntu”を検索して入手からインストールします。

インストール後、Ubuntu を起動しユーザー名とパスワードを設定します。

Ubuntu はここまでで。閉じて大丈夫です。

コマンドプロンプトを起動し、以下コマンドを実行。

ログはコマンドプロンプトのカレントフォルダ配下に作成されるので先にログ格納先に移動してください。

type con| cmd 2>&1 | bash -c “tee CMD_log$(date +%Y%m%d_%H%M%S).txt”

ログ出力の確認のため dirコマンド実行しておきます。

格納先にログが出力されました。

無事に作業ログが残せました。

更に自動出力させるには

以下バッチファイルを作成。

@REM 日時(yyyymmdd形式)
@SET YYYYMMDD=%DATE:/=%
@ECHO %YYYYMMDD%

@REM 時間(hhnnss形式)
@SET TIME_TEMP=%TIME: =0%
@SET HHNNSS=%TIME_TEMP:~0,2%%TIME_TEMP:~3,2%%TIME_TEMP:~6,2%
@ECHO %HHNNSS%

@REM ログ格納先を設定 ※設定しない場合カレントパス配下に作成されます。
@cd C:\LogTEST\

@type con| cmd 2>&1 | bash -c “tee CMD_log%YYYYMMDD%%HHNNSS%.txt”

ショートカットを作成。

作成したバッチファイルパスを以下に設定

cmd.exe /K 【作成したバッチファイルパスを設定】

ショートカットが作成されました。

ショートカットを実行します。また、実行後にログ出力の確認のため dirコマンド実行しておきます。

ログ格納先に作業ログが出力されました。

自動化できましたね。

今回はここまで。

以上です。

Linuxは、Linus Torvaldsの米国およびその他の国における商標または登録商標です。Ubuntuは、Canonical Ltd.の商標または登録商標です

 

 

いいね (2 いいね)
読み込み中...

ITインフラカテゴリの最新記事