MIRACLE
メールサービス申込 ユーザー登録 パートナー情報
お問い合わせ FAQ サイトマップ
MIRACLE LINUXの特長 製品紹介 サービス案内 購入 サポート 技術フォーラム

プロフィール

日本発のリナックス企業、ミラクル・リナックスで奮闘する社員のブログです。

ミラクル関連リンク

採用情報

サイト検索

2008年8月

          1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
31            

« 2006年12月 | メイン | 2007年2月 »

きっちりログを分けたいの

ネタで悩んでいるお隣さんまでのつなぎです。anaitoです。

MiracleLinuxをはじめとするLinuxでは、ログのローテーションはlogrotateを使うのが普通です。

ウチのデフォルトであれば、/etc/cron.dailyにlogrotateのキックが突っ込まれているので4時02分にローテーションされます。logrotateの設定を変更してweeklyからdailyに変更すると確かに毎日ファイルがローテーションされているのが確認出来ます。

ですが、、、ローテーションしているタイミングは朝方です。つまりある一日のログを確認するには2ファイル確認する必要があります。(たとえweeklyでもローテーションするときにはファイルを跨ぐ日がでてしまいますね)

なんかイヤですね~。しかし、

「2ファイル確認すればええやん。」とあなたは妥協したとしましょう。

するとlog4jなら簡単なのにフフン♪と通行人に言われることうけあいですorz

そんな風に追い込まれれば早く妥協を撤回してなんとかしなければいけませんよね?

そんなわけで、考えていきましょう。

まず考えつくのが/etc/cron.daily(要するに/etc/crontabの設定)でキックするのをやめてrootユーザのcrontabに0時ぴったりにキックするようにすることですね。私の経験上、これで98%ぐらい達成出来ます。あとの2%は前処理やらなんやらで取りこぼしがあるかもしれません。

じゃあ、取りこぼしを加味して2ファイル確認すれば、、、ってなんの解決にもなっていませんネ!?

こんな時は標準のsyslogdではなくて、syslog-ngを使ってみましょう。MiracleLinux 4.0には入っていますし、syslog-ng本家のソースにはspecファイルが含まれるのでrpmにするのも簡単です。MLの場合は、chkconfigでどちらか一方が起動するようにして下さい。

細かくは割愛しますが、syslog-ng.confのなかではMACRO機能が使えます。今回のような場合であればdestination設定に$DAYを使えば日が変わると勝手に日付を変更して出力するようになります。これは外部プログラムによるものではないのでlog4jのDailyRollingFileAppenderと同じような動きになります。

MACROについてはこちらのTable 3.6.を参照してみて下さい。

このMACROを使って極端に合理的な設定をするとdestination, filter, logの設定は3行で済んじゃいます。

destination d_net { file("/var/log/$FACILITY/$YEAR-$MONTH-$DAY.log"); };
filter f_all { level(info..emerg); };
log { source(s_remote); filter(f_all); destination(d_net); };

気をつけないといけないのは無いディレクトリはつくってほしいのでoptionsのcreate_dirs(yes);ですか。

どうです?スッキリしてますよね。

ちなみにremove_if_olderなんて設定もあるのでファイルを削除することも出来ます。最近では設定例などもよく見かけるようになったので試してみては如何でしょうか?

気楽にtmpfsを使ってます

最近は、MySQLにtmpfs使ったりするネタなんかが溢れていますが小ネタってあんまり聞かないので自分の例を。

普段、spamassassin使っているので~/.spamassasinをtmpfsでマウントしてます。
/etc/fstabはこんな感じ(64mもいらんけど)

tmpfs  /home/anaito/.spamassassin tmpfs  defaults,size=64m,gid=anaito,uid=anaito,mode=700 0 0

ファイルの方は定期的にバックアップしているので再起動時にはそこから復帰させてます。多少学習が戻ってもたいしたことないし。

あとはfirefoxのCacheディレクトリに使ったりとかもしています。

サービスものでいうとOpenLDAP向けに/var/lib/ldapをtmpfs化してみたりしたのですが、参照系で使う分にはほぼパフォーマンスは変わらない気がします。これは、DirectoryMarkで計ってみたので感覚だけってわけではないですよ。まあ、ファイルサイズ的には小さいのでキャッシュに入っちゃうんでしょうね。

ただ、更新系は速くなりますよ~。
DirectoryMark用に数万エントリとかLDIFから登録するのに普通にやっていたらエラく時間がかかりますが、tmpfsならあっという間ですし。(ちょっといいすぎかも)あとは出来上がったファイルをコピーして使えばいいだけ。ただ、本番運用でmasterに使う勇気はないですが。

あと、一般的には/tmpとかに使ったりするのかもしれませんが私は使いません。/tmpにリブートしても残っていてほしいファイル置いたりするので。ま、これは習慣的なもんでしょうけど。

メモリ余っている方は、もっと使ってもいいんじゃないでしょうか。

成人式行ってきました

huchidaさんの記事 の通り、成人式を無事迎える事ができましたMitsutakaです。両親、姉、友人、そして弊社の方々に感謝です。ありがとうございます。

さて、成人式はというと、とりあえず大きな事件はありませんでした(汗)。私が住んでいる地域の知人は、暴れるような人はほとんどいません。ちょっと刺激が欲しかったですが、平和に過ごす事ができたという事でこれはこれで良かったかと思います。

成人式を終えた後は、同窓会です。ほとんどが学生で、そのテンションにはついていけませんでした。今思えばもっと遊んでおけば良かったと思いますが、会社に入ったほうがやはり自分の成長につながったと感じています。働くのが1年違うだけでも大きいですからね。私にとって成人というのはあまり特別な考えを持っていません。大人になるというのは「意識の問題」であると認識してます。これから先もより気を引き締めてがんばりたいと思います。

さて、皆さんの成人式はいかがでしたか?

ファイル名の文字化けを元に戻す方法

久しぶりの投稿となります、smorisakiです。

今日は文字化けしたファイル名を元に戻す方法について書きます。

以下のように、文字コードが異なる環境で作成されたファイルを
別の環境で閲覧しようとした時にファイル名が文字化けする場合があります。

# ls
?e?X?g?t?@?C??.txt

私は以下の方法を用いて元のファイル名に戻しています。

まず文字化けしたファイル名を記述したファイルを作成します。
# ls > filename

次にmvとnkfを使用して文字化けしたファイル名をリネームします。
# mv `cat filename` `nkf -w filename`

※以下は現在のシステムの文字コードがUTF-8の場合です。
 環境によってnkfのオプションを変更して下さい。

これでファイル名を元に戻すことができました。
# ls
テストファイル.txt

MIRACLE LINUX v4.0 on VMWare fusion

12/21にVMWare fusion for Macのβ版が一般公開されました。それに伴い、VMWare fusionでMIRACLE LINUXを動かしてみようというものです。

VMWare fusion for Mac

あっけなく動作しました。ゲストOSのプロセッサ数を2つにすればsmpカーネルも起動できます。このあたりはParallelsにはないところですね。

Vmware_fusion01




動作検証しているのはMacBook(Core Duo)なので、
ワイドディスプレイ(1280x800)です。現在ワイドディスプレイで表示できるLinuxで私が確認できているのはFedora Core6のみですが、VMWareなのでvmware-toolsをインストールすれば、1280x800の解像度でXを立ち上げることが可能です。

Vmware_fusion02

背景のAsianuxの文字が横に伸びているのに少し違和感を覚えました :-) 基本的にVMWare 5.5系のものとほとんど変わりませんが、まだスナップショット機能がありませんでした。また、Macということだけあって、iPodや、iSightを接続してゲストOS上で使えるらしいです(iSightだけ試しました)。そういえばBluetoothも利用できましたね。ただしホストOSでは使えなくなります。

Vmware_fusion03

ちょっと気になったのはネットワークです。無線LANで接続している場合、ゲストOSでは設定をNATにしないと接続できませんでした。また64ビットOSがインストールできませんでした。このMacbookはIntel Core Duo (Yonah T2400)なのでVT対応ですがIntel64(EM64T)対応ではありません。無理…かな。



Vmware_fusion04



ちなみにParallelsでもParallels toolsをインストールすればVMWare toolsと同じことができるのだと思ったのですが、こちらはまだWindowsのみ対応。ワイドディスプレイでMIRACLE LINUXのデスクトップを表示できたのは、自分がこれが初めてです。VMWareのビデオドライバに助けられました。

会社情報 採用情報 個人情報保護方針 商標等取り扱い事項 English
Copyright(c)2000-2006 MIRACLE LINUX CORPORATION. All Rights Reserved.