バージョン選択

フォーラム

メニュー

オンライン状況

39 人のユーザが現在オンラインです。 (32 人のユーザが フォーラム を参照しています。)
登録ユーザ: 0
ゲスト: 39
もっと...

サイト内検索

質問 > 管理機能 > ログローテーション処理について

管理機能

新規スレッドを追加する

フラット表示 前のトピック | 次のトピック
投稿者 スレッド
patapata
投稿日時: 2010/9/21 23:00
対応状況: −−−
仙人
登録日: 2010/7/7
居住地: 神奈川県
投稿: 502
Re: ログローテーション処理について
お返事が遅くなりまして申し訳ありません。
seasoft様、AMUMU様たくさんの情報どうもありがとうございます。

以下について
>昨日お書きいただいたコードでしたら、clearstatcache() を直前で呼んでいますので、キャッシュの影響は無いような気がします。
すみません。説明が足りてませんでした。上記は、改版前で起きていた現象です。
板の一番最初に書きました。以下のことがらについての自己レスとなります。
>>rename処理が何重にも走っているようです。
にかかってきており、該当の処理はrenameとは別で、filesizeのキャッシュの問題になりますので、それはPHPのVerに関係なく
修正されていないかもと思い、あげさせていただきました。(調べてみた限りでは、修正されている節はありませんでした。)
filesize関数のキャッシュのみ効いている場合は、エラーは起きませんが、MAXSizeに到達しない場合でも、
ログローテーション処理が連続して発生するかと思われます。

以下について
>・realpath_cache_size
>・realpath_cache_ttl
上記設定を0に設定のみの修正で試してみたところ、ワーニングは発生しませんでしたが、
filesizeでキャッシュを読み込んでいるのか・・・ログローテーション処理が発生しまくり、MAXに達していないファイルが
多数できあがりました。

以下について
>if ( !file_exists($path) || filesize($path) <= $max_size) return;
!file_exists($path)を入れないと、いくらキャッシュをクリアしてもワーニングが発生するようです。
おそらく書き込みでどっかしっぱいしてるのだと思われますが・・・
もう時間がないので放置です。ごめんなさい。


最終的に以下のようになりました。
----------------------------------------------------------
function gfLogRotation($max_log, $max_size, $path) {

// ファイルが最大サイズを超えていない場合、終了
clearstatcache();
if ( !file_exists($path) || filesize($path) <= $max_size) return;
// アーカイブのインクリメント(削除を兼ねる)
for ($i = $max_log; $i >= 2; $i--) {
$path_old = "$path." . ($i - 1);
$path_new = "$path.$i";
clearstatcache();
if (file_exists($path_old)) {
clearstatcache();
rename($path_old, $path_new);
clearstatcache();
}
}
// 現在ファイルのアーカイブ
clearstatcache();
rename($path, "$path.1");
clearstatcache();
}
----------------------------------------------------------
(私はこんな風にしちゃいましたが、最後にファイル作った方が安全かもしれません・・・)


その他
chroot(), clearstatcache(), rename(), rmdir(), unlink()を呼び出したタイミングで、realpath cacheはクリアされる
とかってらしいですね。まぁVerによって大分動作が違うみたいなので、正確かどうかはわかんないですけど。
しかしfilesizeは、やはり見当たらないので、もしかしたら皆さんの環境でもファイルサイズがおかしなログが作成されているかもしれません。

以上です。どうもありがとうございました。
フラット表示 前のトピック | 次のトピック


題名 投稿者 日時
   ログローテーション処理について patapata 2010/9/15 17:27
     Re: ログローテーション処理について AMUAMU 2010/9/15 18:14
       Re: ログローテーション処理について patapata 2010/9/15 18:59
         Re: ログローテーション処理について AMUAMU 2010/9/15 21:10
           Re: ログローテーション処理について seasoft 2010/9/15 23:34
             Re: ログローテーション処理について AMUAMU 2010/9/16 2:23
               Re: ログローテーション処理について seasoft 2010/9/16 3:06
                 Re: ログローテーション処理について AMUAMU 2010/9/16 3:18
                   Re: ログローテーション処理について nanasess 2010/9/16 9:35
                   Re: ログローテーション処理について seasoft 2010/9/17 18:16
                     Re: ログローテーション処理について AMUAMU 2010/9/17 19:37
                       Re: ログローテーション処理について nanasess 2010/9/17 20:20
                         Re: ログローテーション処理について patapata 2010/9/17 20:49
                           Re: ログローテーション処理について patapata 2010/9/17 22:14
                             Re: ログローテーション処理について seasoft 2010/9/17 23:20
                               Re: ログローテーション処理について AMUAMU 2010/9/18 0:23
                                 Re: ログローテーション処理について patapata 2010/9/18 0:33
                                 Re: ログローテーション処理について patapata 2010/9/18 0:55
                                   Re: ログローテーション処理について AMUAMU 2010/9/18 2:54
                                   Re: ログローテーション処理について seasoft 2010/9/18 13:29
                                 Re: ログローテーション処理について seasoft 2010/9/18 13:05
                                   Re: ログローテーション処理について AMUAMU 2010/9/18 14:59
                                     Re: ログローテーション処理について seasoft 2010/9/18 18:18
                                     » Re: ログローテーション処理について patapata 2010/9/21 23:00
                       Re: ログローテーション処理について seasoft 2010/9/17 23:15
     Re: ログローテーション処理について patapata 2010/9/16 0:36
       Re: ログローテーション処理について seasoft 2010/9/16 1:52

 



ログイン


EC-CUBE公式 Amazon Payプラグイン

統計情報

総メンバー数は88,970名です
総投稿数は110,019件です

投稿数ランキング

1
seasoft
7367
2
468
3217
3
AMUAMU
2712
4
nanasess
2314
5
umebius
2085
6
yuh
1819
7
h_tanaka
1646
8
red
1570
9
mcontact
1296
10
tsuji
958
11
fukap
907
12
shutta
835
13
tao_s
799
14 ramrun 789
15 karin 689
16 sumida 641
17
homan
633
18 DELIGHT 572
19
patapata
502
20
flealog
485


ネットショップの壺

EC-CUBEインテグレートパートナー

Copyright© EC-CUBE CO.,LTD. All Rights Reserved.