環境等によって違いがある可能性はありますんで、可能なら
crontab
* * * * * date > temp.txt
みたいなことをして、 temp.txt
が吐き出される場所を確認したら良いかなと思います。
現象
プログラムと設定ファイルが同一ディレクトリにある前提で実装していたのだが、そのプログラムをcronから実行した途端動作しなくなった。
解決方法
答えはタイトルの通りなので、 ~/
に設定ファイルなりを置くとOK。
でもちょっと気持ち悪いよね、ということで、
- プログラム内でフルパス(もしくは環境変数等から割り出せるディレクトリ)を指定
-
crontab
で以下のようディレクトリ移動する。
crontab
* * * * * cd DIR ; ./PROGRAM
その他、まぁこの 「ホームディレクトリで実行される」 ということが分かっていれば好きに対策を講じることができるので安心です。