namazu-ml(avocado)


[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: NMZ.*.BAK



塩崎です。

[On Oct 31, Satoru Takabayashi <satoru@xxxxxxxxxxxxx> writes:]
>
>>いつのまにか NMZ.*.BAK というバックアップ・ファイルらしきものが
>>残っているようになったのですが(b12),これって仕様でしょうか?
>
>gcnmz が残します。

これに関して、ちょっとしたpatchを作ってみました。ご確認願います。
・NMZ.{head,field}.*を処理するときに、それらの.BAKも対象になってしまい、
時間も場所も食うのを止めた。
・何もしなくてよかったときは本当に何もしないようにした。

ところで、gcnmzってかなりメモリを食いますね。以下のような処理をするのに、
プロセスサイズが100Mにもなって、はらはらしてしまいました。
-rw-rw-r--  1 takehi-s  users   4404118 Nov 29 06:35 NMZ.f
-rw-rw-r--  1 takehi-s  users   4417631 Nov 29 06:35 NMZ.f.BAK
-rw-rw-r--  1 takehi-s  users     31224 Nov 29 06:35 NMZ.fi
-rw-rw-r--  1 takehi-s  users     31316 Nov 29 06:35 NMZ.fi.BAK
-rw-rw-r--  1 takehi-s  users    202956 Nov 29 06:48 NMZ.field.date
-rw-rw-r--  1 takehi-s  users    203554 Nov 29 06:34 NMZ.field.date.BAK
-rw-rw-r--  1 takehi-s  users      7806 Nov 29 06:48 NMZ.field.from
-rw-rw-r--  1 takehi-s  users      7829 Nov 29 06:34 NMZ.field.from.BAK
-rw-rw-r--  1 takehi-s  users      7806 Nov 29 06:48 NMZ.field.message-id
-rw-rw-r--  1 takehi-s  users      7829 Nov 29 06:34 NMZ.field.message-id.BAK
-rw-rw-r--  1 takehi-s  users      7806 Nov 29 06:48 NMZ.field.newsgroups
-rw-rw-r--  1 takehi-s  users      7829 Nov 29 06:34 NMZ.field.newsgroups.BAK
-rw-rw-r--  1 takehi-s  users    143483 Nov 29 06:48 NMZ.field.subject
-rw-rw-r--  1 takehi-s  users    144199 Nov 29 06:34 NMZ.field.subject.BAK
-rw-rw-r--  1 takehi-s  users      7806 Nov 29 06:48 NMZ.field.to
-rw-rw-r--  1 takehi-s  users      7829 Nov 29 06:34 NMZ.field.to.BAK
-rw-rw-r--  1 takehi-s  users    462645 Nov 29 06:48 NMZ.field.url
-rw-rw-r--  1 takehi-s  users    463709 Nov 29 06:34 NMZ.field.url.BAK
-rw-rw-r--  1 takehi-s  users    262148 Nov 29 06:42 NMZ.h
-rw-rw-r--  1 takehi-s  users    262148 Nov 29 06:35 NMZ.h.BAK
-rw-rw-r--  1 takehi-s  users  17137453 Nov 29 06:42 NMZ.i
-rw-rw-r--  1 takehi-s  users  17259477 Nov 29 06:35 NMZ.i.BAK
-rw-rw-r--  1 takehi-s  users    602500 Nov 29 06:42 NMZ.ii
-rw-rw-r--  1 takehi-s  users    602500 Nov 29 06:35 NMZ.ii.BAK
-rw-rw-r--  1 takehi-s  users  10444856 Nov 29 06:48 NMZ.p
-rw-rw-r--  1 takehi-s  users  10544380 Nov 29 06:35 NMZ.p.BAK
-rw-rw-r--  1 takehi-s  users    262144 Nov 29 06:48 NMZ.pi
-rw-rw-r--  1 takehi-s  users    262144 Nov 29 06:35 NMZ.pi.BAK
-rw-rw-r--  1 takehi-s  users    722355 Nov 29 06:35 NMZ.r
-rw-rw-r--  1 takehi-s  users    726125 Nov 29 06:35 NMZ.r.BAK
-rw-rw-r--  1 takehi-s  users     31224 Nov 29 06:35 NMZ.t
-rw-rw-r--  1 takehi-s  users     31316 Nov 29 06:34 NMZ.t.BAK
-rw-rw-r--  1 takehi-s  users   1785064 Nov 29 06:42 NMZ.w
-rw-rw-r--  1 takehi-s  users   1785064 Nov 29 06:35 NMZ.w.BAK

*** gcnmz.pl.orig	Sun Nov  1 23:34:41 1998
--- gcnmz.pl	Fri Nov 27 13:27:13 1998
***************
*** 147,154 ****
      close(FH);
  
      while (defined($_ = shift(@wlist))){
!         rename($_, "$_.BAK");
!         rename("$_.$$", $_);
      }
      unlink "$DbPath.lock";
      unlink "$DbPath.lock2";
--- 147,156 ----
      close(FH);
  
      while (defined($_ = shift(@wlist))){
!         if (-f "$_.$$") {
!             rename($_, "$_.BAK");
!             rename("$_.$$", $_);
!         }
      }
      unlink "$DbPath.lock";
      unlink "$DbPath.lock2";
***************
*** 363,369 ****
      local(*FI, *FO);
      my ($file, $key) = ("<!-- FILE -->", "<!-- KEY -->");
      my ($qfile, $qkey) = (quotemeta($file), quotemeta($key));
!     my (@list) = glob("$DbPath.head*");
      for $head (@list){
          if (&wopen(*FO, $head) && open(FI, $head)){
              while (<FI>){
--- 365,371 ----
      local(*FI, *FO);
      my ($file, $key) = ("<!-- FILE -->", "<!-- KEY -->");
      my ($qfile, $qkey) = (quotemeta($file), quotemeta($key));
!     my (@list) = grep(!/\.BAK$/, glob("$DbPath.head*"));
      for $head (@list){
          if (&wopen(*FO, $head) && open(FI, $head)){
              while (<FI>){
***************
*** 378,384 ****
  }
  
  sub delete_field{
!     my (@list) = glob("$DbPath.field.*");
      my $dbpath = quotemeta("$DbPath.");
      for (@list){
          s/^$dbpath//;
--- 380,386 ----
  }
  
  sub delete_field{
!     my (@list) = grep(!/\.BAK$/, glob("$DbPath.field.*"));
      my $dbpath = quotemeta("$DbPath.");
      for (@list){
          s/^$dbpath//;
***************
*** 407,412 ****
--- 409,415 ----
          ++$ndx;
      }
      close(FO);
+     unlink("$DbPath.t.$$") unless ($ret);
      $ret;
  }
  

-- 
ただし、私は耳鼻咽喉が弱いので、会議は禁煙にしてください。
--
塩崎 毅彦(SHIOZAKI Takehiko)	<takehi-s@xxxxxxxxxxx>
Technical Center,	ASCII CORPORATION