我已经在AWS Elasticbeanstalk上部署了我的laravel项目,我有一个cronjob任务。如何配置它运行?我已经看到了多个答案,但要么它们不再有效,太复杂或没有很好地描述。我可以遵循哪种指南/步骤来做到这一点?
在许多部署服务中,我可以轻松配置cronjob,但说明它存在的路径,但我无法在AWS上找到任何内容。
答案 0 :(得分:0)
cpanel甚至ssh访问对您没有帮助,因为Elastic Beanstalk可以根据需要替换您的服务器实例。这意味着如果您使用cpanel,那么下次EB决定启动新服务器时您的更改将会丢失。
现在,为了确保正确填充cron,您需要使用 .ebextensions 机制。它是一个小脚本,在新服务器旋转时运行,并且可以填充你的cron
以下是介绍此类脚本的步骤:
container_commands:
populate_cron:
command: crontab -l | { cat; echo "0 0 0 0 0 your command"; } | crontab -
leader_only: true
(请注意,这是一个yaml文件,因此请保持缩进)
eb deploy
eb ssh
看到cron在那里答案 1 :(得分:0)
发布答案有点迟,但主要是你需要运行crontab -e
来打开crontab文件。然后,您可以按如下方式添加所有作业:
* * * * * /path/to/your/command
5 *
意味着永远每分钟,所以你需要相应地配置它。您也可以查看此guide。