よく考えたら.zshrcに書いてた環境変数がcrontabでは読み込まれて無い→JRubyがgemの場所を解決できてなかった
crontabの一番上にでも書いておく
SHELL=/bin/zsh
GEM_HOME=/usr/lib/ruby/gems/1.8
PATH=/usr/local/bin:/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/sbin:/home/sho/lib/jruby/bin:
もしかしてSHELL=/bin/zshした時点で.zshrcは読み込まれてる?