[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[plamo:34334] Re: crontab内での環境変数設定



こじま@暑い,,です ;^_^;  

From: "Yoshihiro Kawamata" <kaw@xxxxxxxxxxxx>
Subject: [plamo:34333] crontab内での環境変数設定
Date: Fri, 05 Jul 2024 01:15:04 +0900 (JST)

...

> ところが、このcrontabをcrondに食わせると、以下のようなエラーが発生しま
> す。
> 
>     Jul  3 15:16:01 plamolinux crond[925]: failed parsing crontab for user sag: SHELL=/bin/sh
>     Jul  3 15:16:01 plamolinux crond[925]: failed parsing crontab for user sag: PATH=/bin:/sbin:/usr/bin:/usr/sbin
>     Jul  3 15:16:01 plamolinux crond[925]: failed parsing crontab for user sag: SAGHOME=/home/sag/sag
> 
> crondにより実行されたプロセスの環境を調べてみると、環境変数 SHELL、PATH、
> SAGHOME は設定されていません。
> 
> マニュアルページcrontab(5)には、
> 
>     crontab の動作行は、 環境変数の設定か cronコマンドのいずれかである。 環
>     境変数の設定は以下の形式をとる:
> 
>     name = value
> 
>     ただし、等号  (=) 両側のスペースはなくても良い。
> 
> とあるので、マニュアルページ通りなら、これらの環境変数の設定は行われる
> はずなのですが。
...

> これって、マニュアルページの記述とcrondの実際の挙動が違っているってこ
> とでしょうか。
> 
> それとも何かcrontab設定上の制限や条件などがあるのでしょうか。
> 

多分,Plamo が採用している cron は Dcron(Dillon Cron)なのに対し,
man crontab して表示される日本語の man ページは man_pages_ja 由来の vixie cron 版の翻訳なので,
齟齬が生じているのだと思ふ.

きちんと見てないけど,dcron の crontab は vixie cron の crontab よりも機能が少なく,
"時間指定  コマンド" 行しか認識しないから,SHELL=/bin/sh みたいな独立行はハジいちゃうんじゃないかな.

なぜ Dcron にしたかはよく覚えてないけど,シンプルな方がいい,と考えてた気がする.

--------
こじま


Follow-Ups
[plamo:34335] Re: crontab内での環境変数設定, Yoshihiro Kawamata
References
[plamo:34333] crontab内での環境変数設定, Yoshihiro Kawamata

[検索ページ] [メール一覧]
Plamo ML 公開システム