2008年6月14日土曜日

アクセスログ出力サンプル

_____________________________
index_access.pl
 ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
#!/usr/bin/perl --

#=================================================================
# 時刻設定
($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst) = localtime(time);
$year += 1900;
$mon = $mon + 1;
$thisday = (Sun,Mon,Tue,Wed,Thu,Fri,Sat)[$wday];

$jikoku = sprintf("%04d/%02d/%02d (%03s) %02d:%02d:%02d", $year, $mon, $mday, $thisday, $hour, $min, $sec);

# 環境変数の取得
$ip = $ENV{'REMOTE_ADDR'}; #// リモート端末のIP アドレス
$port = $ENV{'REMOTE_PORT'}; #// リモート端末のポート番号
$url = $ENV{'HTTP_REFERER'}; #// リモート端末の直前の URL
$blws = $ENV{'HTTP_USER_AGENT'}; #// ブラウザ情報
$path = $ENV{'PATH_INFO'}; #// 現 CGI のパス情報

$rtpc = $ENV{'REMOTE_HOST'}; #// リモート端末のホスト名
$svpc = $ENV{'SERVER_NAME'}; #// サーバのホスト名
$webs = $ENV{'SERVER_SOFTWARE'}; #// ウェブサーバのソフト名と ver
$wcgi = $ENV{'GATEWAY_INTERFACE'}; #// ウェブサーバの CGI ver

#===============================================================


open(FILE,">>index_access.log") or die "$!";
flock(FILE,2);
print FILE "$jikoku,$ip,$port,$url,$rtpc,$blws\n";
flock(FILE,8);
close(FILE);

#// 終了
exit(0);


_____________________________
呼び出し側HTML(一部)
 ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄

2008年4月16日水曜日

nkfのインストール

20080416
■ダウンロード
http://www01.tcp-ip.or.jp/~furukawa/nkf_utf8/nkf205.tar.gz


[root@asp-eim-apdb installer]# tar zxvf nkf205.tar.gz
gzip: stdin: not in gzip format
tar: Child returned status 1
tar: 処理中にエラーが起きましたが、最後まで処理してからエラー終了させました

↑サーバ上で解凍しようとしたがうまくいかないのでWindowsで解凍してからFTP。

[root@asp-eim-apdb nkf205]# make
cc -O -c utf8tbl.c
cc -O -o nkf nkf.c utf8tbl.o
[root@asp-eim-apdb nkf205]# make test
perl test.pl
Basic Conversion test
JIS to JIS ... Ok
JIS to SJIS... Ok
JIS to EUC ... Ok
(中略)
test_data/z1space-1 Ok
test_data/z1space-2 Ok

■バイナリファイルを配置
[root@asp-eim-apdb nkf205]# cp nkf /usr/bin/

■英語のマニュアルを配置
[root@asp-eim-apdb nkf205]# cp nkf.1 /usr/share/man/man1/


使用例)UTF8コードに変換する
nkf -w oracle_sjis/create_documentdb.sql > oracle_utf8/create_documentdb.sql

使用例)シフトJISコードに変換する
nkf -s oracle_utf8/create_documentdb.sql > oracle_sjis/create_documentdb.sql

※EUCコードに変換するなら、-e オプション。

2008年1月17日木曜日

シスログ管理

20080117
システムログを別ホストのログ管理サーバに出力させるための手順。

■手順概要
1) ログ管理サーバ側でリモートホストから出力されるログを受け取れるようにする。
2) リモートホスト側でログ管理サーバにログを出力する。

_______________________________
1) ログ管理サーバの設定 192.168.24.17
 ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
■/etc/init.d/syslog の設定
[root@RHEL4 ~]# vi /etc/init.d/syslog
--------------------vi syslog------------------------------------
SYSLOGD_OPTIONS="-m 0 -r" ← -r オプションを追記
-----------------------------------------------------------------

■設定を反映させる
[root@RHEL4 ~]# /etc/init.d/syslog restart
カーネルロガーを停止中: [ OK ]
システムロガーを停止中: [ OK ]
システムロガーを起動中: [ OK ]
カーネルロガーを起動中: [ OK ]

/var/log/messages には下記のように出力される
Jan 17 18:56:13 RHEL4 kernel: Kernel logging (proc) stopped.
Jan 17 18:56:13 RHEL4 kernel: Kernel log daemon terminating.
Jan 17 18:56:14 RHEL4 syslog: klogd 停止 succeeded
Jan 17 18:56:14 RHEL4 exiting on signal 15
Jan 17 18:56:14 RHEL4 syslogd 1.4.1: restart (remote reception).
Jan 17 18:56:15 RHEL4 syslog: syslogd 起動 succeeded
Jan 17 18:56:15 RHEL4 syslog: klogd 起動 succeeded
Jan 17 18:56:15 RHEL4 kernel: klogd 1.4.1, log source = /proc/kmsg started.
Jan 17 18:56:14 RHEL4 syslog: syslogd 停止 succeeded


_______________________________
2) リモートホストの設定 192.168.24.18
 ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
■/etc/syslog.conf の設定
[root@hoge2 ~]# vi /etc/syslog.conf
--------------------vi syslog.conf-----------------------------------
*.info;mail.none;authpriv.none;cron.none @192.168.24.17
---------------------------------------------------------------------

■設定を反映させる
[root@hoge2 ~]# /etc/init.d/syslog restart
カーネルロガーを停止中: [ OK ]
システムロガーを停止中: [ OK ]
システムロガーを起動中: [ OK ]
カーネルロガーを起動中: [ OK ]

ログ管理サーバの /var/log/messages には下記のように出力された!
Jan 17 19:06:59 192.168.24.18 syslogd 1.4.1: restart.
Jan 17 19:06:59 192.168.24.18 syslog: syslogd 起動 succeeded
Jan 17 19:06:59 192.168.24.18 kernel: klogd 1.4.1, log source = /proc/kmsg started.
Jan 17 19:06:59 192.168.24.18 syslog: klogd 起動 succeeded
Jan 17 19:07:02 192.168.24.18 syslog: syslogd 停止 succeeded


■参考サイト
http://www.atmarkit.co.jp/flinux/rensai/root03/root03a.html