每当Gem和cron Job

时间:2016-02-06 20:29:57

标签: ruby-on-rails ruby linux bash cron

我按照Whenever gems网站上的说明操作,并尝试在服务器上的开发和生产模式下跟踪它。

set :output, "/file/to/path/cron.log"
every 1.day, at: '11:59 pm' do
   command "sudo touch /file/to/path"
   runner "Location.transfer_data",:environment => 'production' 
end

它不会创建文件(因为我没有关于生产的数据,所以现在是测试)。

我花了好几个小时试图调试它,crontab -l给了我这个输出

59 23 * * * /bin/bash -l -c 'sudo touch /file/to/path >> /file/to/path/cron.log 2>&1'

59 23 * * * /bin/bash -l -c 'cd /var/www/name && script/rails runner -e production '\''Location.transfer_data'\'' >> /file/to/path/cron.log 2>&1'

此致

Babar Rehman

1 个答案:

答案 0 :(得分:0)

我解决了这个问题,不知道哪一个特别解决了这个问题,但这些是我采取的步骤

  1. 添加作业名称每当--update-cron 命令
  2. whenever --update-cron jobName

    1. 重新启动 cron 服务
    2. sudo service cron restart

      1. 授予日志文件
      2. 的完全访问权限

        sudo chmod 777 /path/to/file.log

        希望它能为别人派上用场