忍者ブログ

[PR][]

×

[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。

全消し日時とログサイズの表示[コンピュータ]

お絵描きしぃちゃっとの入り口ページに、全消しをした日時とログサイズを表示しているサイトがあった。なるほど、これはいい。実現できそうだったので、作ることにした。

全消しをすると、save_serverディレクトリのcash.tmpファイルが、pch6-10_0.spchのようなファイル(この場合、7月10日の最初に生成されたファイルという意味で、月は+1して考える)に名前を変えて保存される。全消しをしたタイミングを知るには、一番新しいspchファイルのタイムスタンプを取得すればいい。もちろん、手動でファイルを更新しないという前提で。ただし、絵チャを停止させたときにもspchファイルができるので、このアルゴリズムだと全消し日時が正しく取得できなくなってしまう。一番簡単な解決法は、停止時に生成されたspchファイルを消してしまうこと。cash.tmpが同じ内容で残っているので、消しても問題ない。

ログサイズは、cash.tmpのサイズを取得することによって知ることができる。だいたい10KBずつ増えていく。ただし、全消しをするとcash.tmpはなくなり、ある程度キャンバスに描かれるまでは生成されないことを考慮する必要がある。

VBScriptで書いて、SSIで実行したら、CScriptを実行するときに表示されるロゴが出てきてしまって、どうしても消せなかった。//nologoをつけても、引数を認識してくれない。サーバ側で、CScript //nologo /Sで非表示の設定にしてもダメだ。うーん、Apacheを使っていることが原因なのだろうか。

SSIではPerlで書いたファイルを実行することにして、内部でVBScriptを呼び出し、いったんファイルに出力して、それを表示する仕様に変更したら、ようやくうまくいった。しかし、こんな解決法ではすっきりしない。結局、全部Perlで書き直して、同じ機能を実装した。

どうでもいいけど、cash.tmpというファイル名は、cache.tmpのことなのだろう。cashは現金の意味だし。

PR
コメント
コメントの投稿
未記入の場合は「ななし」になります

任意

任意



未記入の場合は、投稿後に修正ができません

トラックバック
トラックバックURL

< 新しい記事 | ホーム | 古い記事 >