解決済みの質問
Linuxで2時間おきに時刻を新規のログに書き込みたいのですが、
うまく表示されません。
syslog.confに新しく2時間おきに時刻を書き込むログを加え、
新規ログに
Sep 18 07:00:01 tky015 logger: 只今の時刻は 7時00分です
Sep 18 08:00:01 tky015 logger: 只今の時刻は 8時00分です
Sep 18 09:00:01 tky015 logger: 只今の時刻は 9時00分です
Sep 18 10:00:01 tky015 logger: 只今の時刻は 10時00分です
Sep 18 11:00:01 tky015 logger: 只今の時刻は 11時00分です
という風に表示させたいです。
新規ログをtest.logとし、メッセージの表示はシェルを使用し、以下のようになりました。
ファイル名はtime.shです。
#!/bin/sh
MESS='只今の時刻は'
DATE1=`date "+%k"`'時'
DATE2=`date "+%M"`'分'
MESS=$MESS$DATE1$DATE2'です'
logger -f /var/log/test.log $MESS
2時間おきに時刻を表示させるためにcronを使い、
* */2 * * * /bin/sh /root/time.sh
syslog.confには、
#2時間おきに時間を書き込むログ
cron.* /var/log/test.log
というふうにやりましたが、
時刻は/var/log/messagesに書き込まれてしまい、/var/log/test.logには
Sep 17 07:00:01 tky015 crond[6480]: (root) CMD (/bin/sh /root/tanaka.sh)
Sep 17 08:00:01 tky015 crond[6486]: (root) CMD (/bin/sh /root/tanaka.sh)
Sep 17 09:00:02 tky015 crond[6492]: (root) CMD (/bin/sh /root/tanaka.sh)
Sep 17 10:00:01 tky015 crond[6499]: (root) CMD (/bin/sh /root/tanaka.sh)
Sep 17 11:00:01 tky015 crond[6506]: (root) CMD (/bin/sh /root/tanaka.sh)
というふうに書かれてしまいます…。
syslog.confの書き方が間違っているんじゃないのかなと思うのですが、
どうすればいいのかわかりません。
OSはCentOS05です。
初心者ですので分からないこともあるかも知れませんが、
どなたかご教授ください。
よろしくお願いします。
投稿日時 - 2008-09-18 10:21:01
loggerのオプションの使い方がおかしいのでは?
なにを参考になさいましたか?
投稿日時 - 2008-09-18 11:06:40
補足
回答ありがとうございます。
loggerはこちらを参考にさせて頂きました。
http://cyberam.dip.jp/linux_command/command/system/logger.html#
logger [ オプション ] [ メッセージ ]
オプションに「-f ファイル名」と書かれていたのでファイル名に新規ログのフルパス、
[メッセージ]の部分に表示したい時刻メッセージの$MESSを持ってくればいいのかなと思ったのですが・・・
投稿日時 - 2008-09-18 11:17:30
0人が「このQ&Aが役に立った」と投票しています
ベストアンサー以外の回答(1件中 1~1件目)
(1)time.shのloggerの記述を
logger -t test $MESS
としてタグを付加してください。-fは使い方がちがいます。
(2)syslog.confでmessagesへの出力からtestをはじきます
/var/log/messagesの行の羅列に「;test」を付加
(3)syslog.confで、testタグのログファイルを指定します
!test
*.* /var/log/test.log
(4)あとはsyslogを再起動、test.logはあらかじめtouchしておくように
投稿日時 - 2008-09-18 11:49:46
お礼
出来ました!とても助かりました
ありがとうございました!
投稿日時 - 2008-09-18 12:10:21