cron.dailyのlogwatchでgemが見つからない
logwatchでruby gemを使うスクリプトを起動するとき、gemが見つからないというエラーで困ったときの話。
OSは、CentOS 6.6です。
※このサーバではrvmでrubyをインストールしています。
/usr/local/rvm/rubies/ruby-2.0.0-p353/lib/ruby/site_ruby/2.0.0/rubygems/core_ext/kernel_require.rb:55:in `require': cannot load such file -- pg_query (LoadError)
from /usr/local/rvm/rubies/ruby-2.0.0-p353/lib/ruby/site_ruby/2.0.0/rubygems/core_ext/kernel_require.rb:55:in `require'
from /etc/logwatch/scripts/services/postgresql:6:in `<main>'
対処方
環境変数GEM_HOMEを、/etc/crontabに追記したり、/etc/cron.daily/0logwatchに追記したりしたんですが、うまくいきませんでした。
/etc/cron.daily/0logwatchのlogwatch起動部分を直接書き換えると、うまくいきました。
bash -c '. /usr/local/rvm/scripts/rvm && /usr/sbin/logwatch --output mail'