投稿者: masomi79
アクセスログを記録して解析する-1
シェルスクリプトとcronでアクセス毎の時間、url、ホスト名を日ごとに別ファイルに記録する
1)サイト内の各ページ(phpファイル)にアクセス毎にログファイル(log.dat)に記入していくよう記述する
$year = date('Y');
$month = date('m');
$day = date('d');
$hour = date('H');
$hostip = getenv("REMOTE_ADDR");
$hostname = gethostbyaddr($hostip);
$platform = get_browser(null, true);
$browser = $platform["parent"];
/*** アクセス情報を一件のレコードとする ***/
$log = $hour . "," . $item_id . "," . $hostip . "," . $hostname . "," . $browser . "\r\n";
/*** 記録するファイル名 ***/
$countfile = "log.dat";
/*** レコードを末尾へ記入 ***/
$fp = @fopen($countfile,"a");
fputs($fp, $log);
fclose($fp);
| 使った関数 | |
| getenv(“REMOTE_ADDR”) | アクセス元のIPアドレスを取得する |
| gethostbyaddr | IPアドレスからホスト名を取得する |
| get_browser(null, true) | ブラウザ情報を取得する |
2)毎日夜中にlog.datを[日付].datへコピーして消去する
log.datを[日付].datへコピーして内容を消去するのshellスクリプトlog_bk.shを作成します。
#!/bin/sh
fecha=`date '+%Y%m%d'` ←日付(fecha)を取得
cp -p log.dat ${fecha}.dat ←log.datを日付.datへコピー
cat /dev/null >log.dat ←log.datへnullを書き込み消去
上記のスクリプトを毎日23時59分に実行するようcronを設定します。
#crontab -e
でツールを起動して/etc/crontabを編集します。
viと同じ感じで操作します。
59 23 * * * /[ディレクトリ]/log_bk.sh
と記入。
数字は左から、分、時間、日、月、週 を指定し、実行するファイル名を記入して保存。
#crontab -l
で記入した内容が表示されればOKです。
phpとcronで日毎のlog.datをデータベースへ格納する
1)log.datの中身をDBへ格納するphpファイルlog.phpを作成する
$file_name = "/hoge/log.dat";
$text = fopen($file_name,'r');
while(!(feof($text))){
$lines = fgets($text);
$_line = explode(",", $lines);
$sql = "insert into tbl_log (itm_id, log_ip, log_month, log_day, log_hour, log_year) values ('" . $_line["1"] . "', '" . $_line["2"] . "', '" . $month . "', '" . $day . "', '" . $_line["0"] . "', '" . $year . "')";
$rst = mysql_query($sql,$con)or die("no");
}
fclose($text);
| 使った関数 | |
| fopen | ファイルを開く。’r’は読み込み専用 |
| feof | ファイルの最後かどうかをチェックする |
| explode(“[区切り記号]”, “[文字列]”) | 文字列を区切り記号で区切って配列に格納する |
2)log.phpを毎日実行させる
crontabへ記述します。
58 23 * * * /usr/bin/php /hoge/logtodb.php
phpをcronで実行させるにはcrontabへphpへのパスを指定する必要があります。
user/bin/phpは
which php
で調べます。

TRUNCATE レコード全削除&リセット
truncateでテーブルのレコードの全削除とauto_increment設定してあるカラムのリセット
delete from tbl_hogehoge
ではauto_incrementのidが継承され削除されたレコードの次の番号から
となってしまいます。
なので
参考URL
http://www.mirrorservice.org/sites/ftp.mysql.com/doc/refman/5.1-olh/ja/truncate.html
http://d.hatena.ne.jp/joydiv/20100701/1277965412
linuxでコマンドラインから起動しているサービスの一覧を表示する
起動しているサービスの一覧を表示する
# chkconfig --list
すると。。。
iiim 0:off 1:off 2:on 3:on 4:on 5:on 6:off
ldap 0:off 1:off 2:off 3:off 4:off 5:off 6:off
netplugd 0:off 1:off 2:off 3:off 4:off 5:off 6:off
cups 0:off 1:off 2:on 3:on 4:on 5:on 6:off
kadmin 0:off 1:off 2:off 3:off 4:off 5:off 6:off
dc_server 0:off 1:off 2:off 3:off 4:off 5:off 6:off
anacron 0:off 1:off 2:on 3:on 4:on 5:on 6:off
iptables 0:off 1:off 2:on 3:on 4:on 5:on 6:off
rusersd 0:off 1:off 2:off 3:off 4:off 5:off 6:off
sysstat 0:off 1:on 2:on 3:on 4:on 5:on 6:off
xfs 0:off 1:off 2:on 3:on 4:on 5:on 6:off
ypbind 0:off 1:off 2:off 3:off 4:off 5:off 6:off
dhcpd 0:off 1:off 2:off 3:off 4:off 5:off 6:off
irda 0:off 1:off 2:off 3:off 4:off 5:off 6:off
messagebus 0:off 1:off 2:off 3:on 4:on 5:on 6:off
smb 0:off 1:off 2:off 3:off 4:off 5:off 6:off
wdaemon 0:off 1:off 2:off 3:off 4:off 5:off 6:off
krb5kdc 0:off 1:off 2:off 3:off 4:off 5:off 6:off
sshd 0:off 1:off 2:on 3:on 4:on 5:on 6:off
openibd 0:off 1:off 2:off 3:off 4:off 5:off 6:off
autofs5 0:off 1:off 2:off 3:off 4:off 5:off 6:off
canna 0:off 1:off 2:on 3:on 4:on 5:on 6:off
radiusd 0:off 1:off 2:off 3:off 4:off 5:off 6:off
nfs 0:off 1:off 2:off 3:off 4:off 5:off 6:off
irqbalance 0:off 1:off 2:off 3:on 4:on 5:on 6:off
FreeWnn 0:off 1:off 2:off 3:off 4:off 5:off 6:off
lisa 0:off 1:off 2:off 3:off 4:off 5:off 6:off
mdmonitor 0:off 1:off 2:on 3:on 4:on 5:on 6:off
rpcgssd 0:off 1:off 2:off 3:on 4:on 5:on 6:off
kudzu 0:off 1:off 2:off 3:on 4:on 5:on 6:off
readahead_early 0:off 1:off 2:off 3:off 4:off 5:on 6:off
rdisc 0:off 1:off 2:off 3:off 4:off 5:off 6:off
tog-pegasus 0:off 1:off 2:off 3:off 4:off 5:off 6:off
dc_client 0:off 1:off 2:off 3:off 4:off 5:off 6:off
cups-config-daemon 0:off 1:off 2:off 3:on 4:on 5:on 6:off nfslock 0:off 1:off 2:off 3:on 4:on 5:on 6:off
vncserver 0:off 1:off 2:off 3:off 4:off 5:off 6:off
multipathd 0:off 1:off 2:off 3:off 4:off 5:off 6:off
rpcidmapd 0:off 1:off 2:off 3:on 4:on 5:on 6:off
lm_sensors 0:off 1:off 2:on 3:on 4:on 5:on 6:off
httpd 0:off 1:off 2:off 3:off 4:off 5:off 6:off
innd 0:off 1:off 2:off 3:off 4:off 5:off 6:off
autofs 0:off 1:off 2:off 3:on 4:on 5:on 6:off
netdump-server 0:off 1:off 2:off 3:off 4:off 5:off 6:off
bluetooth 0:off 1:off 2:off 3:off 4:off 5:off 6:off
rwhod 0:off 1:off 2:off 3:off 4:off 5:off 6:off
sendmail 0:off 1:off 2:on 3:on 4:on 5:on 6:off
haldaemon 0:off 1:off 2:off 3:on 4:on 5:on 6:off
auditd 0:off 1:off 2:off 3:off 4:off 5:off 6:off
spamassassin 0:off 1:off 2:off 3:off 4:off 5:off 6:off
edac 0:off 1:off 2:off 3:off 4:off 5:off 6:off
NetworkManager 0:off 1:off 2:off 3:off 4:off 5:off 6:off
named 0:off 1:off 2:off 3:off 4:off 5:off 6:off
arptables_jf 0:off 1:off 2:on 3:on 4:on 5:on 6:off
netfs 0:off 1:off 2:off 3:on 4:on 5:on 6:off
hpoj 0:off 1:off 2:on 3:on 4:on 5:on 6:off
microcode_ctl 0:off 1:off 2:on 3:on 4:on 5:on 6:off
opensmd 0:off 1:off 2:off 3:off 4:off 5:off 6:off
capi 0:off 1:off 2:off 3:off 4:off 5:off 6:off
snmptrapd 0:off 1:off 2:off 3:off 4:off 5:off 6:off
kprop 0:off 1:off 2:off 3:off 4:off 5:off 6:off
dovecot 0:off 1:off 2:off 3:off 4:off 5:off 6:off
atd 0:off 1:off 2:off 3:on 4:on 5:on 6:off
ospfd 0:off 1:off 2:off 3:off 4:off 5:off 6:off
mailman 0:off 1:off 2:off 3:off 4:off 5:off 6:off
snmpd 0:off 1:off 2:off 3:off 4:off 5:off 6:off
cpuspeed 0:off 1:on 2:on 3:on 4:on 5:on 6:off
lvm2-monitor 0:off 1:on 2:on 3:on 4:on 5:on 6:off
rhnsd 0:off 1:off 2:off 3:on 4:on 5:on 6:off
rstatd 0:off 1:off 2:off 3:off 4:off 5:off 6:off
bootparamd 0:off 1:off 2:off 3:off 4:off 5:off 6:off
tux 0:off 1:off 2:off 3:off 4:off 5:off 6:off
mdmpd 0:off 1:off 2:off 3:off 4:off 5:off 6:off
mysqld 0:off 1:off 2:off 3:off 4:off 5:off 6:off
squid 0:off 1:off 2:off 3:off 4:off 5:off 6:off
xinetd 0:off 1:off 2:off 3:on 4:on 5:on 6:off
wpa_supplicant 0:off 1:off 2:off 3:off 4:off 5:off 6:off
ypxfrd 0:off 1:off 2:off 3:off 4:off 5:off 6:off
krb524 0:off 1:off 2:off 3:off 4:off 5:off 6:off
ospf6d 0:off 1:off 2:off 3:off 4:off 5:off 6:off
isdn 0:off 1:off 2:on 3:on 4:on 5:on 6:off
dhcp6s 0:off 1:off 2:off 3:off 4:off 5:off 6:off
yppasswdd 0:off 1:off 2:off 3:off 4:off 5:off 6:off
netdump 0:off 1:off 2:off 3:off 4:off 5:off 6:off
acpid 0:off 1:off 2:off 3:on 4:on 5:on 6:off
postgresql 0:off 1:off 2:off 3:off 4:off 5:off 6:off
ypserv 0:off 1:off 2:off 3:off 4:off 5:off 6:off
radvd 0:off 1:off 2:off 3:off 4:off 5:off 6:off
ipmi 0:off 1:off 2:off 3:off 4:off 5:off 6:off
gpm 0:off 1:off 2:on 3:on 4:on 5:on 6:off
nscd 0:off 1:off 2:off 3:off 4:off 5:off 6:off
ntpd 0:off 1:off 2:off 3:on 4:off 5:on 6:off
pcmcia 0:off 1:off 2:on 3:on 4:on 5:on 6:off
uuidd 0:off 1:off 2:on 3:on 4:on 5:on 6:off
bgpd 0:off 1:off 2:off 3:off 4:off 5:off 6:off
psacct 0:off 1:off 2:off 3:off 4:off 5:off 6:off
winbind 0:off 1:off 2:off 3:off 4:off 5:off 6:off
zebra 0:off 1:off 2:off 3:off 4:off 5:off 6:off
oddjobd 0:off 1:off 2:off 3:off 4:off 5:off 6:off
ip6tables 0:off 1:off 2:on 3:on 4:on 5:on 6:off
rarpd 0:off 1:off 2:off 3:off 4:off 5:off 6:off
network 0:off 1:off 2:on 3:on 4:on 5:on 6:off
ibmasm 0:off 1:off 2:off 3:off 4:off 5:off 6:off
arpwatch 0:off 1:off 2:off 3:off 4:off 5:off 6:off
vsftpd 0:off 1:off 2:off 3:off 4:off 5:off 6:off
rawdevices 0:off 1:off 2:off 3:on 4:on 5:on 6:off
crond 0:off 1:off 2:on 3:on 4:on 5:on 6:off
ripngd 0:off 1:off 2:off 3:off 4:off 5:off 6:off
diskdump 0:off 1:off 2:off 3:off 4:off 5:off 6:off
dhcrelay 0:off 1:off 2:off 3:off 4:off 5:off 6:off
readahead 0:off 1:off 2:off 3:off 4:off 5:on 6:off
portmap 0:off 1:off 2:off 3:on 4:on 5:on 6:off
syslog 0:off 1:off 2:on 3:on 4:on 5:on 6:off
amd 0:off 1:off 2:off 3:off 4:off 5:off 6:off
ripd 0:off 1:off 2:off 3:off 4:off 5:off 6:off
cyrus-imapd 0:off 1:off 2:off 3:off 4:off 5:off 6:off
saslauthd 0:off 1:off 2:off 3:off 4:off 5:off 6:off
smartd 0:off 1:off 2:on 3:on 4:on 5:on 6:off
iscsi 0:off 1:off 2:off 3:off 4:off 5:off 6:off
xinetd ベースのサービス:
eklogin: off
rsync off
talk: off
kshell: off
klogin: off
gssftp: off
auth: on
amandaidx: off
daytime-udp off
daytime: off
ktalk: off
dbskkd-cdb: off
tftp: off
amanda: off
cups-lpd: off
swat: off
echo: off
telnet: off
chargen: off
rexec: off
time: off
krb5-telnet: off
rsh: off
rlogin: off
echo-udp: off
chargen-udp: off
ntalk: off
finger: off
time-udp: off
amidxtape: off
一番左がサービスの名前
0〜6までの数字はランレベル(以下)を示しており、起動時のON/OFFをカタカナ(ディストリビューションによる)で表示しています。
0 – システムの停止
1 – シングルユーザーモード
2 – マルチユーザーモード(ネットワークに接続していなければ3と同じ)
3 – ネットワーク有りのマルチユーザーモード(通常)
4 – 未使用
5 – xディスプレイマネージャ起動
6 – 再起動

sendmailのバージョン確認
$telnet 127.0.0.1 25 Trying 127.0.0.1... Connected to localhost.localdomain (127.0.0.1). Escape character is '^]'. 220 localhost.localdomain ESMTP Sendmail 8.13.1/8.13.1; Tue, 22 Jun 2010 04:47:03 +0900 quit 221 2.0.0 localhost.localdomain closing connection Connection closed by foreign host.
↑バージョンは8.13.1でした。
MySQLの操作
基本操作
show databases; データベースの一覧
use [database]; データベースの選択
show tables; テーブルの一覧
alter table [テーブル名] add [カラム名] [属性] カラムの追加
update [テーブル名] set [カラム名1]=”[値1]” where [カラム名<2]=[値2];
久しぶり。。。
windows media servicesとは
windows media services(WMS)とはオーディオ・ビデオファイルをストリーミング配信するためのマイクロソフト社のストリーミングメディアサーバのこと。
Windows Media、JPEG,MP3のみサポートされている。NetShow serviesの後継サーバ。
ストリーミング機能に加えて、キャッシュ機能、アクセスの管理、接続の制御、アクセス拒否、マルチプロトコル、FECを持つ。
ユニキャスト・マルチキャストストリーミングの双方をサポートする。
一般にデコード・視聴のためにWindows Media playerが用いられるが、Microsoft Silberlight,VLC,MPlayer等も保護されてないコンテンツの再生に用いられる。
64ビット版のWMSは拡張されている。
The Scalable Network Pack for windows Server 2003はサーバのパフォーマンスを向上させるネットワークアクセレータをサポートしている。
最新バージョンであるWindowsMediaServices2008forwindows server2008ではWMSキャッシュ・プロキシプラグインをサポートしている。
これはほかのWMSへキャッシング・プロキシサポートを提供するもの。
WMS2008はwindows server 2008のセットアップファイルの中に含まれる見込みだが現在のところ自由にダウンロードできる。
Releases
NetShow Server 3.0 (Windows NT 4.0)[5]
NetShow Services 4.0 (Windows NT 4.0 SP3 or later)[6]
Windows Media Services 4.1 (Included in Windows 2000 Server family and downloadable for previous Windows versions) [7]
Windows Media Services 9 Series (Included in Windows Server 2003, works with IIS 6)
Windows Media Services 2008 (Downloadable for Windows Server 2008, works with IIS 7)

多次元配列のソート。 ディレクトリの中身を array_multisort を使ってソートする
配列の初期化
$dirlist = array(); $udate = array();
ディレクトリ内のファイル名を取得して$strDirに格納
$filedir = ディレクトリ名;
$strDir = opendir($filedir)or die("couldnt open directory");
ディレクトリの内容を順に配列$dirlistに格納
while($str = readdir($strDir)){
array_push($dirlist,$str);
}
ファイルの総数を $files へ格納
$files = count($dirlist);
カウンターを初期化
if(!($counter)){
$counter = 0;
}
ファイルのパスを$openfilepassへ格納する
while ($counter < $files){
$openfile = $dirlist["$counter"];
$openfilepass = $filedir . "/" . $dirlist["$counter"];
$counter ++;
}
ファイルの更新日を取得して配列の格納する
$mod = filemtime($openfilepass);
$ud = date("Y/m/d H:i", $mod);
array_push($udtime,$ud);
ファイル名と更新日の二次元配列ができます
$list_array = $array($dirlist,$udtime);
ファイル名順でソートする
array_multisort($list_array[0], SORT_STRING, SORT_ASC, $list_array[1], SORT_STRING, SORT_ASC);
日付の新しい順でソートする
array_multisort($list_array[1], SORT_STRING, SORT_DESC, $list_array[0], SORT_STRING, SORT_ASC);
確認
print_r($list_array);
参照URL:
http://metaboy.blog23.fc2.com/blog-entry-114.html
http://d.hatena.ne.jp/devillikeaangel/20090409/1239263385
忘れないようにここにメモを。。。
北朝鮮。。。
グループA
南アフリカ
メキシコ
ウルグアイ
フランス
グループB
アルゼンチン
ナイジェリア
韓国
ギリシャ
グループC
イングランド
米国
アルジェリア
スロベニア
グループD
ドイツ
オーストラリア
セルビア
ガーナ
グループE
オランダ
デンマーク
日本
カメルーン
6/14
13:30 オランダ vs デンマーク
6/14
16:00 日本 vs カメルーン
6/19
13:30 オランダ vs 日本
6/19
20:30 デンマーク
6/24
20:30 デンマーク vs 日本
6/24
20:30 カメルーン vs オランダ
グループF
イタリア
パラグアイ
ニュージーランド
スロバキア
グループG
ブラジル
北朝鮮
コートジボワール
ポルトガル
グループH
スペイン
スイス
ホンジュラス
チリ
http://sportsnavi.yahoo.co.jp/soccer/wcup/10southafrica/draw/index.html

ディレクトリをコピーするには
- (ハイフン)r をつける。
>>|
cp -r [元のディレクトリ名] [コピー先のディレクトリ名]
| << |
ファイルの所有者はコピーを実行したユーザーになる。
ディレクトリの一括削除
