- PR -

cronでコマンドが実行されない

投稿者投稿内容
Weasel
会議室デビュー日: 2005/05/10
投稿数: 7
投稿日時: 2005-05-13 12:30
アンダーバーがUNSAFEだとは想像すらできませんでした。また、メールアドレスに
問題があるとコマンドを一切実行しない、ということも想像できなかったため、
コマンドの方を中心に調べていました。

私のメールアドレスはたまたまアンダーバーを使用していなかったから大丈夫です
が、知り合いの会社で「yamada_taro@company.co.jp」というアドレスを使用して
いるところは多く見受けられます。彼らはcronのメール配信機能を“そのままでは”
利用できない、ということでしょうか?

限られた情報から多大なるアドバイスを提供いただいたangel様に、深く御礼申し
あげます。今後ともよろしくお願い申し上げます。
angel
ぬし
会議室デビュー日: 2005/03/17
投稿数: 711
投稿日時: 2005-05-13 13:08
こんにちは。ちょっと補足。
引用:
アンダーバーがUNSAFEだとは想像すらできませんでした。また、メールアドレスに
問題があるとコマンドを一切実行しない、ということも想像できなかったため、
コマンドの方を中心に調べていました。


私があまり詳しく説明していなくて、誤解を生みかねない所もあるので、もう少し詳しく説明します。例によって独自調査の結果ですので、その点はご注意を。

1. UNSAFE の影響
 通常であれば、ジョブの出力が sendmail に渡されるべき所が、渡されなくなります。
ですので、メールでの通知がされなくなり、ジョブの実行結果がわからなくなってしまいますが、ジョブ自体は変わらず実行されます

2. ログのタイミング
 crond が登録されたジョブを起床する時点で、“CMD”という内容のログが syslogd に送信されます。
もし、ジョブから何らかの出力 ( 実行エラー等も含む ) があった場合、ジョブが完了している/いないに関わらず、この時点でメール送信先の判定が行われます。ここで UNSAFE と判定された場合、“UNSAFE”という内容のログが syslogd に送信されます。
UNSAFE と判定されず ( この時点でメール送信は確定 )、かつジョブの出力が完了した後に、sendmail コマンドが成功すれば、“MAIL”という内容のログが syslogd に送信されます。
なお、何も出力がない場合は、そもそもメール送信はありませんし、UNSAFE 判定もされません。

以上、ご参考まで。

スキルアップ/キャリアアップ(JOB@IT)