#!/usr/bin/perl require DBD::mysql; $TMP = '/var/www/home/ceekz/tmp'; $INDEX = '/var/www/home/ceekz/namazu'; $MKNMZ = 'mknmz'; $re = 1; # 1 = ファイルつくり直し / 0 = MKNMZ の実行のみ(INDEXの再作成) if ($re) { if (-e $TMP) { system("rm -Rf $TMP"); } mkdir($TMP, 0755); $dbh = DBI->connect("DBI:mysql:db:localhost", "user", "pass"); $sth = $dbh->prepare("SELECT url, title, content FROM table"); $sth->execute; $m = $sth->rows; for ($i = 0; $i < $m; $i++) { my @d = $sth->fetchrow_array; $d[0] =~ s|^http://||; $d[0] =~ s|/|_s_|g; print "$i/$m $d[0]\n"; open(OUT, ">$TMP/$d[0]"); print OUT "$d[1]\n$d[2]\n"; close(OUT); } $sth->finish; $dbh->disconnect; } chdir($INDEX); system("rm -f NMZ.*"); system("$MKNMZ -a -U -r 's|$TMP|http:/|; s|_s_|/|g;' $TMP"); exit;