我有一些Rails 4應用程序與一些cronjobs。我已將應用程序遷移到新的debian服務器。此刻我從Cronjobs那裏得到了這個錯誤。Rails的cronjob問題
stdin: is not a tty
一個cronjob看起來像這樣:
17,34,51 * * * * /bin/bash -l -c 'cd /var/www/html/myapp && RAILS_ENV=production bundle exec rake crons:mark_as_done --silent >> log/cron.log 2>&1'
哪來的問題?在我的舊機器上,我沒有遇到這個問題。
感謝所有
cronjobs在scedule.rb分別設置,並與時
看起來是這樣的部署:貓/.bashrc的
every 13.minutes do
rake "crons:generate_m", :environment => :production
end
UPDATE
通常,這是因爲你的sudoers文件有一行'Defaults requiretty'。只是評論一下。 – fedorqui
我在哪裏可以找到這個文件? – Felix
作爲root用戶,輸入'visudo'。要非常小心地編輯這個文件,因爲它是向非root用戶授予root權限的文件。 – fedorqui