[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[plamo:34333] crontab内での環境変数設定
-
From:Yoshihiro Kawamata
-
Date:Fri, 5 Jul 2024 01:15:06 +0900 (JST)
- Subject: [plamo:34333] crontab内での環境変数設定
- From: "Yoshihiro Kawamata" <kaw@xxxxxxxxxxxx>
- Date: Fri, 05 Jul 2024 01:15:04 +0900 (JST)
川俣です。
私、OpenBSD上で動作する SAG (System Activity Grapher)
https://fuguita.org/?SAG
というプログラムを開発して、公開しているのですが、
このSAGをLinuxで動かす必要が生じ、Plamo Linux上で移植作業を行っていま
す(最終的なターゲットは RHEL 8)。
このSAGは、データ取得スクリプトをcronから起動します。
具体的には、以下のようなcrontabです。
# ### for System Activity Grapher logging system ###
#
# $Id: crontab,v 1.2 2017/01/07 06:10:54 kaw Exp $
#
#
SHELL=/bin/sh
PATH=/bin:/sbin:/usr/bin:/usr/sbin
#
# Important - base directory of SAG
# Reconfigure if needed.
#
SAGHOME=/home/sag
#
#minute hour mday month wday command
#
* * * * * exec $SAGHOME/bin/tick
*/5 * * * * chmod u+x $SAGHOME/bin/t0005
50 * * * * chmod u+x $SAGHOME/bin/t0100
10 4 * * * chmod u+x $SAGHOME/bin/t2400
ところが、この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
ただし、等号 (=) 両側のスペースはなくても良い。
とあるので、マニュアルページ通りなら、これらの環境変数の設定は行われる
はずなのですが。
しかたがないので、かっこわるいですが、crontabは以下のようにしています。
# ### for System Activity Grapher logging system ###
#
# $Id: crontab,v 1.2 2017/01/07 06:10:54 kaw Exp $
#
#
#SHELL=/bin/sh
#PATH=/bin:/sbin:/usr/bin:/usr/sbin
#
# Important - base directory of SAG
# Reconfigure if needed.
#
#SAGHOME=/home/sag/sag
#
#minute hour mday month wday command
#
* * * * * SAGHOME=/home/sag/sag /home/sag/sag/bin/tick
*/5 * * * * chmod u+x /home/sag/sag/bin/t0005
50 * * * * chmod u+x /home/sag/sag/bin/t0100
10 4 * * * chmod u+x /home/sag/sag/bin/t2400
これって、マニュアルページの記述とcrondの実際の挙動が違っているってこ
とでしょうか。
それとも何かcrontab設定上の制限や条件などがあるのでしょうか。
ご教示いただければ幸いです。
なお、Plamo Linuxのリリースは、
$ cat /etc/plamo-release
Plamo Linux release 8.1
です。
----
川俣 吉広
mailto:kaw@xxxxxxxxxxxx
https://fuguita.org/
- Follow-Ups
-
- [plamo:34334] Re: crontab内での環境変数設定, KOJIMA Mitsuhiro
- [plamo:34362] Re: crontab内での環境変数設定, Yoshihiro Kawamata
[検索ページ]
[メール一覧]
Plamo ML 公開システム