Вместо использования cron.yaml
, который добавляет задание cron ко всем развертываемым экземплярам EB, вы можете использовать .ebextensions
, чтобы определить команды, которые выполняются в каждом из ваших экземпляров, и квалифицировать эти команды для запуска только в одном экземпляре, используяleader_only: true
.
Например,
.ebextensions / 01_setup_cron.config
container_commands:
01_some_cron_job:
command: "cat .ebextensions/your_cron.txt > /etc/cron.d/your_Cron && chmod 644 /etc/cron.d/your_cron"
leader_only: true
.ebextensions / your_cron.txt
* * * * * root /usr/bin/do-something.sh
# Don't forget to put a blank new line at the end of the cron - cron won't work without it
Это скопирует файл cron в /etc/cron.d/
только для одного экземпляра (экземпляр "лидера") и будет означать, что ваш cron запускается только один раз.