cronでシェルスクリプトが動作しない時

4月 19, 2010

バッチ処理用にシェルスクリプトを作成したら、通常cronに登録する前に手動で
動作確認をするだろう。手動だと上手くいったのに、cronだと動作しない、あるいは
一部がエラーになる、という状態になったら。

cronの記述や実行権限に問題がないという前提で話を進めるが、原因のひとつとして、
実行ユーザの環境変数が読み込まれていないことが考えられる。
(と言っても、この場合も環境変数とスクリプトの処理に相関関係があるという
前提で話を進めているが)

もしそうであれば、スクリプト内に実行ユーザの.bashrc等を読み込ませる
処理を記述すれば正常に動作するだろう。

#!/bin/bash

USERINFO=~/.bashrc
source ${USERINFO}


他の原因もあるかもしれないが・・・、取り急ぎ、cronエラーのメールが届く
環境であればそれを確認。サーバ内だったら/var/spool/mail配下を見てみる。

Categories: shell

No Responses so far | Have Your Say!

Comments are closed.