Apple の脅威の通知と金銭目当てのスパイウェアへの対策について

しばらく返答が寄せられていないようです。 再度ディスカッションを開始するには、新たに質問してください。

ルータのログの記録先を変更したい...

ルータが書き出す「Syslog」をサーバ用途で使っているiBookに記録させたいと思い
Syslog.confに下記を追加で記述しました...
-------
local0.* /var/log/router/router.log
-------
しかし、system.logに全て記録されてしまい意図としたrouter.logに記録できません...
私の技術・知識不足は明白ですが、何か手だてはないものか、トピックを立てました。
直接の回答でなくても構いません、ヒントやサイトなどを教えて頂ければ幸いです、よろしくお願いします。

投稿日 2006/09/25 01:05

返信: 30

2006/09/26 14:35 Community User への返信

Y. Kawabe 様、度々ありがとうございます。
私のところでも、logをたくさん書き出しておりまして、仰るとおりローテーションしたいのですが...
今の所、回答が探せずにネット上を「うろうろ」としております...
私なりの解釈ですがsyslog.confに追記していく感じで良いのでしょうか?
記述例:
local1.* /var/log/router/router.log
*.emerg *
---ここまでは現状で下記を追記...
/var/log/router/router.log 600 7 100 * Z
または、全然違う方法でしょうか、何度もすみませんが、教えて下さい...(__

2006/09/26 15:43 Community User への返信

>/var/log/router/router.log 600 7 100 * Z
う〜ん、これはどこから得た情報でしょう?syslogdにはローテーションの機能は無いので、ここに書いてもダメだと思うのですが。
OSXの場合、ログは/etc/daily, /etc/weekly, /etc/monthlyの中でローテーションされています。毎日ローテーションするなら、/etc/dailyでsystem.logをローテーションしている部分に、自分のログのパスを追加するか、/etc/daily.localに自分のログをローテーションするスクリプトを作るかでしょう。私は後者にしています。
ただ、/etc/daily, /etc/weeklyは、起動時刻がデフォルトで午前3:15なので、この時間にマシンが動作状態でないとローテーションされません。この時刻を変更するには、/System/Library/LauncdDaemons/com.apple.periodic-[daily/weekly].plistを編集する必要があります。
LINUXのlogrotateのような専用のルーツがあると楽なのですが。

2006/09/27 01:43 Community User への返信

>>/var/log/router/router.log 600 7 100 * Z
>う〜ん、これはどこから得た情報でしょう?
「unix ログのローテーション」などで検索かけると「newsyslog.confを作る」というのを見つけました...
でも、何かちょっと違う様な気がして質問してみました...すみません。
ちゃんと理解したかは私自身怪しいですが...
Y. Kawabe 様の「後者の方法」を実行しようと思い、ローテーションのスクリプトを検索したのですが見つけられず...
*daily.localを作成し/etcに配置させるところまでは理解できました...
サーバ用途で使っているiBookは24時間休み無く動かしておりますので、特に問題ないと思います。
次に >/etc/dailyでsystem.logをローテーションしている部分---
を見つけ、それらしきをコピー・ペーストでできないか思案しております...
考えた結果は...
「echo "" 」〜「echo ""」内部の
「for i in system.log; do」から「done」までを一区切りとしてコピーし
「done」以降にペーストして、ファイル名を「for i in router.log; do」の様に変えれば動くのではないかと...
やはり、専門の書籍は必至と思ってきました、お勧め書籍を教えて頂けるのでも構いません...よろしくお願いします(__

2006/09/27 02:38 Community User への返信

newsyslogの設定でしたか。残念ながら、OSXにはnewsyslogはインストールされていませんね。
/etc/dailyからコピーしてくる部分は、その通りです。「echo ""」にはさまれた部分だけを、/etc/daily.localに持ってきて、ログファイル名を変更します。たしかMadbavooさんはログを/var/logの下ではなく、/var/log/routerの下に作成されていましたから、「for in in router/router.log; do」になります。
ただ、/etc/daily.localに書く場合、連続で2回syslogdにHUPを送る事になるのがおもしろくありません。(syslogdはHUPを送らないとログファイルの再オープンを行わないため。)/etc/dailyの方を書き換える方がスマートではあるのですが、あまりデフォルト設定を書き換えたくないもので・・

2006/09/27 03:58 Community User への返信

Y. Kawabe 様、細かい部分を教えてください...
daily.local の記述ですが、私は...
echo ""
print %s "rotaing log files:"
cd /var/log
for in in router/router.log; do
中略 ( 特に変更はしてません )
echo ""
までを書いて保存しました、が、ここでちょっと自信持てない部分がでてきました...
500.daily の行頭には「#!/bin/sh -」などがありますが、これは書いてなくても良いのでしょうか?
それとも、「#!/bin/sh -」から「bak=/var/backups」までは当然の部分として残して考えて
上記の 「echo ""」で挟まれた部分を書けばよいのでしょうか?

2006/09/27 04:48 Community User への返信

>500.daily の行頭には「#!/bin/sh -」などがありますが、これは書いてなくても良いのでしょうか?
必要ありません。/etc/daily.localは、/etc/dailyの中で「sh /etc/daily.local」の形で実行されるからです。(当然permissionに「x」も必要なく、「r」だけあれば十分。)
/etc/daily.localに必要なのは、「echo ""」ではさまれた部分だけです。念のため、一度「sudo sh /etc/daily.local」を実行してみてください。router.logがrouter.log.0.gzに圧縮され、新しくサイズ0のrouter.logができていればOK。

2006/09/27 05:02 Community User への返信

Y. Kawabe 様、完璧です!ほんとに助かりました(__)
教えて頂いた「sudo sh /etc/daily.local」を実行したところ、router.log.0.gzができており
size0のrouter.logもできておりました。
ちなみにパーミッションは500.dailyと同じにしました、問題ない様なので、このままにしておきます。
これで、膨大なログを用量を心配することなく管理することができると思います。
今回教えて頂いた方法は、今後の為にも自機の中に記録・保存しておきます。
ほんと感謝いたします、ありがとうございました。
2006.09.26 16:00 Madbavoo
追記:後は3:15にローテーションしてくれれば無事に起動していると言うことですね。

2006/09/27 05:18 Community User への返信

> あまりデフォルト設定を書き換えたくないもので・・
というのであれば、/usr/local/etc/periodic/daily というフォルダにスクリプトを置くのが一番スマート?

2006/09/27 06:04 Community User への返信

HAL 様、>/usr/local/etc/periodic/daily というフォルダにスクリプトを置くのが一番スマート?---
/usr/local/に「etc」が存在しませんでした...
これはetcも含めた下位のフォルダを全て作成し、そこに「daily.local」を置けば良いという事でしょうか?

2006/09/27 06:56 Community User への返信

> これはetcも含めた下位のフォルダを全て作成し、そこに「daily.local」を置けば良いという事でしょうか?
ということです。ただ、記述はperiodic/daily/500.dailyに従う(多分#!/bin/sh -の行が必要etc.)and 名前は何でもいいのだと思います。
詳しくは、man periodicとしてみてください。

2006/09/27 07:48 Community User への返信

HAL 様、ありがとうございます。
今夜3:15をでHUPした後(する時)の挙動を見てから試したいと思います...(__
追記:man periodic確認してみました...(⌒▽⌒;
ちょっと時間かかりそうです...

2006/09/27 08:04 Community User への返信

>/usr/local/etc/periodic/daily というフォルダにスクリプトを置くのが一番スマート?
いえ、スクリプトを分ける以上、どこにおいても結局はローテーション後にsyslogdにHUPを送らねばならない事に変わりないので。/etc/dailyの中なら、まとめてローテーションしてからHUPを送れるのですが。
ユーザローカルな設定でやるなら、UNIX流にcrontabを使う方が、起動時刻や起動日(曜日)を自由にできると思います。

2006/09/27 09:52 Community User への返信

> スクリプトを分ける以上、どこにおいても結局はローテーション後に
> syslogdにHUPを送らねばならない事に変わりないので。
一番最後にHUPを送るようになれば問題ないということであれば、/etc/periodic/daily のところに400.daily (500より前の番号であればなんでもいい?)として置いてやれば、500.dailyより前に読み込まれると思うのですがいかがでしょう?
# よくわからないまま首をつっこんでしまったことに少し後悔しています・・・(^^;;

2006/09/27 13:29 Community User への返信

そういう手はもちろんありますが、400.dailyが500.dailyの内容に強く依存してしまう関係となり、好ましいとは言えません。各スクリプトはその中でやるべきことが完成しているべきと思います。
まぁ、何度HUPを送っても実害は無いので、どうしてもなんとかしたいわけではありません。スマートじゃないなぁと思うだけで。

2006/09/27 17:06 Community User への返信

無事に 3:15 にHUPした様です...(^^
私的には特に問題無さそうなので、今の環境でやって行こうと思ってます。
今後「crontab」など他の事を覚えてから、環境の見直しをしていこうかと...
皆様からの「回答や助言」に感謝しております「無事に完結した」ということで、ありがとうございました(__)

ルータのログの記録先を変更したい...

Apple サポートコミュニティへようこそ
Apple ユーザ同士でお使いの製品について助け合うフォーラムです。Apple ID を使ってご参加ください。