Crontab执行命令但ruby脚本未运行

Say*_*yuj 0 ruby ubuntu cron crontab rvm

我为我的ruby脚本设置了一个crontab.

crontab -l
12 10 * * * /bin/bash  -c 'cd /home/user/path/ && /home/user/.rvm/rubies/ruby-1.9.2-p136/bin/ruby  -rubygems script.rb'
Run Code Online (Sandbox Code Playgroud)

命令/bin/bash -c 'cd /home/user/path/ && /home/user/.rvm/rubies/ruby-1.9.2-p136/bin/ruby -rubygems script.rb'运行良好.

在cron中,cron正在执行命令(我检查了syslog:

sudo tail  /var/log/syslog
(user) CMD (/bin/bash  -c 'cd /home/user/path/ && /home/user/.rvm/rubies/ruby-1.9.2-p136/bin/ruby  -rubygems script.rb')
Run Code Online (Sandbox Code Playgroud)

)

但是脚本并没有完全执行.我没有得到预期的结果.

可能是问题的原因是什么?如果有人能帮助我,我们会感激不尽.

小智 6

尝试:

12 10 * * * /bin/bash  -c 'source /home/user/.rvm/scripts/rvm && cd /home/user/path/ && /home/user/.rvm/bin/ruby-1.9.2-p136 -rubygems script.rb'
Run Code Online (Sandbox Code Playgroud)

  • 好答案.当您从终端登录bash时,它会自动运行一些脚本来设置您的环境(通常包括"rvm"ruby环境设置)."cron"只是运行它在cron文件中找到的内容,并且不会自动运行任何环境设置脚本. (2认同)