ruby実行時にエラー「ruby : command not found」となりました。
実行は手実行だとうまくいくのですが、crontabからだとこのエラーになってしまいます。
これについて調べたので記録しておきます。
以前構築したrbenv環境はこちら。
https://normalblog.net/system/rbenv/install/
原因
rbenvにのせたrubyを使う為のパス設定を~/.bash_profileにしておりました。
これがcrontabからの実行だと読まれないようです。
更に、/usr/binにインストールされていなかったので、rubyなんてないとなったわけです。
対応方法
- rbenvを使わずにrubyを普通にインストールする。
- crontabにbashとして実行する
と思いました。(参考サイト様を見ると他にもありました。)
1.はちょっとやめておきたいので、2.を採用しました。
1 |
* * * * * test.sh |
↓
1 |
* * * * * /bin/bash -lc 'test.sh' |
これでcrontabから動かしても~/.bash_profileが読み込まれてruby(rbenv)へのパスが通りました。
参考サイト様