ログイン時に自動でログをとる方法

ログイン時にサーバ上で自動でログを取得する方法を探していたら、以下のページがありました。

Linux/UNIX 上でコマンドの実行履歴を残す方法

そこに、scriptコマンドを利用したログ取得スクリプトが載っていたのですがLinux専用だったのでFreeBSD版に修正してみました。ただし注意があり、FreeBSDでbashを使う場合だけ利用できます。bashはportsからインストールしないとだめなので、rootの管理用シェルには使えないと思います。

now=`date +%Y%m%d%H%M%S`
user=`whoami`
logfile=/var/tmp/log/script_logs/$user/$now

if [ ! -e /var/tmp/log/script_logs/$user ]
then
 mkdir -p /var/tmp/log/script_logs/$user
fi

if [ -e $logfile ]
then
 mv -f $logfile $logfile.bak
fi

p_proc=`ps -O ppid|grep $PPID|grep bash|awk '{print $6}'`
if [ "$p_proc" = -bash ]
then
 script -q $logfile
 exit
fi
This entry was posted in freebsd. Bookmark the permalink.

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

*

次のHTML タグと属性が使えます: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong> <img localsrc="" alt="">