LoginSignup
48
46

More than 5 years have passed since last update.

サーバで作業時にログを残す

Last updated at Posted at 2015-07-09

あらまし

サーバ上でなにかしら作業する時にhistoryコマンドで見直してもいいけどだるいよね。
-> コマンドと実行結果をログに吐かせておこう。

環境

  • CentOS 6.6
  • 察しの言い方は既に何やろうとしてるか気づいてると思います。

Scriptコマンド

$ man script
- 早い話がこれで解決する。

使い方

### script <保存ファイル名(パスで指定してもいい)>
$ script log
スクリプトを開始しました、ファイルは log です        #ここから
$ touch hogehoge
$ exit
exit
スクリプトを終了しました、ファイルは log です        #ここまでが記録される
$ ls
hogehoge  log
$ cat log
スクリプトは 2015年07月09日 06時17分01秒
 に開始しました$ touch hogehoge
$ exit
exit

スクリプトは 2015年07月09日 06時17分10秒
 に終了しました$

ちょこっと使い勝手を良くしたい

  • いちいちファイル指定するのだるい
  • 作業日時とユーザ名勝手に入れてよ
    • OKわかった。

こうする

  • ログの吐き出し先 : /var/log/logterm/
  • ファイル名 : YYYYMMDDSS-ユーザ名.log
$ echo "alias logterm='sudo script /var/log/logterm/$(date +%Y%m%d%S)-`users`.log'" >> ~/.bashrc
$ source ~/.bashrc
[hogehoge@localhost ~]$ logterm
スクリプトを開始しました、ファイルは /var/log/logterm/2015070918-hogehoge.log です
[root@localhost hogehoge]# exit
スクリプトを終了しました、ファイルは /var/log/logterm/2015070918-hogehoge.log です

ログファイル開く時

catとかなら問題ないんだけど、エディタで開くと改行コードとかが鬱陶しい

$ vim /var/log/logterm/2015070918-hogehoge.log
スクリプトは 2015年07月09日 06時25分26秒
 に開始しました^[]0;root@localhost:/home/hogehoge^G^[[?1034h[root@localhost hogehoge]# exit^M

スクリプトは 2015年07月09日 06時25分28秒

んでcolコマンドでゴニョる

$ col -bx < /var/log/logterm/2015070918-hogehoge.log > res.log
$ vim res.log

まだもうちょっとゴミついてるけどとりあえずここまで。

スクリプトは 2015年07月09日 06時25分26秒
 に開始しました0;root@localhost:/home/hogehoge?1034h[root@localhost hogehoge]# exit

スクリプトは 2015年07月09日 06時25分28秒
 に終了しました
48
46
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
48
46