Ruby
cron
infrastructure
bundler
AmazonLinux

Cronにbundleのタスクを登録するときは気をつけよう

Cronにbundleのタスクを登録するときは気をつけよう

何故か、Cronから下記のスクリプトを実行したときに詰まったので、色々試した結果どうやればCronに設定できたかのメモ

▼プロジェクトの場所

$ pwd
/var/www/html/xxx/

▼Cronに設定したいスクリプトの実行コマンド

$ bundle exec ruby hoge.rb

▼Cronに設定する

$ crontab -e

0 10 * * * su - root -lc 'cd /var/www/html/xxx/ && bundle exec ruby hoge.rb'

※注意としては、実行ユーザがちゃんとbundleコマンドが打てる状態になってないといけない

これで、Cronに設定できました!

Cronログの確認

実行されたかどうかの確認は下記にログが書き込まれているか確認する。

$ tail /var/log/cron