每当在使用ec2在rails上创建的ec2实例上运行时,我一直试图获得。
当我使用Capistrano进行部署时,它表示已写入crontab,但是当我登录服务器并运行crontab -l时,它似乎没有被更改。
如果我进入release文件夹并手动运行--write-crontab然后运行crontab -l - 它会正确更新。
任何可能导致这种情况的想法?
Capistrano没有表明任何错误,所以不确定如何调试,尝试过十亿次排列和组合,没有任何变化。
答案 0 :(得分:1)
您应该只需要在cap部署文件中随时执行capistrano命令,如下所示:
要求'when / capistrano'
如果你正在使用bundler,你还需要添加它:
set :never_command,'when exec when'
答案 1 :(得分:0)
namespace :deploy do desc "write the crontab file" task :write_crontab, :roles => [:db_admin] do run "cd #{release_path} && sudo -u root whenever --write-crontab #{application}" end end
或者,只要能够帮助解决这个问题,显然还有一个-user选项。
答案 2 :(得分:0)
这与OP无关,但根据此issue,Capistrano 2.11.1需要每当0.7.3才能解决问题。