[ubuntu-jp:3617] Re: cronで動作できない

T.Soejima toshiyasu.soejima @ gmail.com
2011年 6月 18日 (土) 08:12:58 UTC


田中さん、ありがとうございます。

ご紹介いただいたブログを見て、ひっくり返ってしまいました。w
たかがcronと思っていたのですが、以外な落とし穴があるもの
なんですね・・・

たしかに、cronの起動は自分のshellではないので、よく考えれば
当然かもしれませんが、あまり意識していなかったので唸ってしま
いました。

rubyスクリプトなんかを動かすときは、かなり注意が必要かもしれ
ないですね。

私も大変勉強になりました。ありがとうございました。




(2011年06月18日 16:32), Yoshinori Tanaka wrote:
> そえじまさん
>
> こんにちは、田中です。
>
> 問題が解決した様でよかったです。
>
>> ということは、cron が参照してる PATH変数は普段使っているものと
>> 違うということなんでしょうか・・・
> こちらの件について私も認識がありませんでしたので
> 少し確認したところ、cron起動時に環境変数が初期化される様で
> 明示的にPATHを記載する必要がある様です。
>
> 【参考URL】
> http://blog.goo.ne.jp/01_mai/e/aebc5ba42a0432a258e1e6b63baf8a40
>
> 私の環境で試してみたところ
> 明示的にPATHを記載しなければ
> /usr/bin:/bin
> となりました。勉強になりました。
>
> 以上
>
> 2011年6月18日13:39 T.Soejima <toshiyasu.soejima @ gmail.com>:
>> そえじまです。
>>
>> 田中さん、ありがとうございます。
>> おかげさまで何とか解決することができました。m(__)m
>>
>> test_rec.sh の中で呼び出していたコマンドにPATHが届いていないようでした。
>> 絶対パスで書き直したところ、動作するようになりました。
>>
>> ということは、cron が参照してる PATH変数は普段使っているものと
>> 違うということなんでしょうか・・・
>>
>> とりあえず、動いたのでいいのですが、何となく気になっています・・・
>>
>>
>> (2011年06月18日 10:57), Yoshinori Tanaka wrote:
>>> そえじまさん
>>>
>>> はじめまして、田中と申します。
>>>
>>> cronが動作しない件ですが、
>>> 結果をログ出力してみてはいかがでしょうか。
>>> (以下では/home/clev/Radiko/配下にresult.logを書き出します)
>>>
>>> * * * * * cd /home/clev/Radiko/;/home/clev/Radiko/test_rec.sh >
>>> /home/clev/Radiko/result.log 2>&1
>>>
>>> もしtest_rec.sh実行時にエラーが出ていた場合、result.logに
>>> なにか出力されるかもしれません。
>>>
>>> ご参考まで。
>>>
>>>
>>>
>>> 2011年6月18日9:14 T.Soejima <toshiyasu.soejima @ gmail.com>:
>>>> そえじまです。
>>>>
>>>> 友成さん、度々ありがとうございます。
>>>>
>>>> おっしゃる通り、/bin/sh は私が書いたものでした。
>>>> なので、今は
>>>>
>>>> * * * * * cd /home/clev/Radiko/;/home/clev/Radiko/test_rec.sh
>>>>
>>>> という形で書き直してみましたが、結果は
>>>>
>>>> Jun 18 09:11:01 ubuntu-core2 CRON[23449]: (clev) CMD (cd
>>>> /home/clev/Radiko/;/home/clev/Radiko/test_rec.sh)
>>>>
>>>> となってしまい、あまり変わりがありません。
>>>> 以前はこれでも動いてくれていたのですが、何が悪いのかさっぱりです。
>>>>
>>>> 何か他に動作を勘違いしてるところがありますでしょうか?
>>>> よろしくお願いいたします。
>>>>
>>>>
>>>> (2011年06月17日 19:46), Takeshi Tomonari wrote:
>>>>
>>>> 友成です。
>>>> 実行はされてるみたいですね。
>>>> (/bin/sh cd /home/clev/Radiko/;/bin/sh /home/clev/Radiko/test_rec.sh)
>>>> これ見ますと、cdとtest_rec.shが違うシェルで実行されてるので、
>>>> test_rec.sh実行の際のカレントパスは変わらないような気がします。
>>>> 各コマンドの前の/bin/shはそえじまさんがcrontabの中に書きましたか?
>>>>
>>>> 2011/6/17 T.Soejima <toshiyasu.soejima @ gmail.com>
>>>>> そえじまです。
>>>>>
>>>>> 友成さん、さっそくありがとうございます。
>>>>> エラーかどうか分からないのですが、以下のようなメッセージを複数行吐いております。
>>>>>
>>>>> Jun 17 18:55:01 ubuntu-core2 CRON[3373]: (clev) CMD (/bin/sh cd
>>>>> /home/clev/Radiko/;/bin/sh /home/clev/Radiko/test_rec.sh)
>>>>>
>>>>> よろしくお願いいたします。
>>>>>
>>>>>
>>>>>
>>>>>
>>>>> (2011年06月17日 18:52), Takeshi Tomonari wrote:
>>>>>
>>>>> はじめまして。友成です。
>>>>> cronはコマンド実行時に/var/log/syslogにログを吐くと思いますが、
>>>>> 何かエラーは出てませんでしょうか?
>>>>>
>>>>> 2011/6/17 T.Soejima <toshiyasu.soejima @ gmail.com>
>>>>>> お世話になり ます。そえじまです。
>>>>>>
>>>>>> 少し前にも話題になっていましたが、libpam などの問題で一時cronでの
>>>>>> 実行ができない状態になりました。
>>>>>> ( 10.04 LTS )
>>>>>>
>>>>>> 当該のupgradeをして、システムを再起動しましたが、相変わらず動かない
>>>>>> 状態です。(以前は動いていたのですが・・・)
>>>>>>
>>>>>> crontab -l では、
>>>>>> * * * * * cd /home/clev/Radiko/; /home/clev/Radiko/test_rec.sh
>>>>>>
>>>>>> として、毎時毎分10秒だけ動かすようにしております。
>>>>>>
>>>>>> 何か cron の仕様が変更になったのでしょうか?
>>>>>> ちなみに、 test_rec.sh は手動では問題なく動作しております。
>>>>>>
>>>>>> ご教示、よろしくお願いいたします。
>>>>>>
>>>>>> Toshiyasu Soejima
>>>>>> toshiyasu.soejima @ gmail.com
>>>>>>
>>>>>>
>>>>>>
>>>>> --
>>>>> Tom Takeshi Tomonari
>>>>> takeshi @ unfed.org
>>>>>
>>>>
>>>> --
>>>> Tom Takeshi Tomonari
>>>> takeshi @ unfed.org
>>>>
>>>>
>>
>>
>




ubuntu-jp メーリングリストの案内