В определении заданий ansible cron, как динамически присваивать значение атрибута job в зависимости от среды. У меня есть необходимость выполнять один и тот же cronjob с разными параметрами и сделать это сейчас, определяя два разных задания cron, одно для prod, а другое для для UAT, DEV. Есть ли в любом случае, где мы можем определить одну работу для всех env и изменить значение работы на основе env
Письменный код, как показано ниже
name: Ensure a job that runs purge backup for UAT,DEV and QA
cron:
name: "Cassandra purge backup job"
user: cassandra
minute: 0
hour: 3
weekday: "5,6"
job: "/usr/ops/base/bin/cron.sh /usr/ops/cassandra/bin/backupfiles.sh /nas_csd_backup/uat_backup 7"
when: cassandra_backup_enable
with_items:
- dev
- qa
- uat
name: Ensure a job that runs purge backup for PROD
cron:
name: "Cassandra purge backup job"
user: cassandra
minute: 0
hour: 3
weekday: "5,6"
job: "/usr/ops/base/bin/cron.sh /usr/ops/cassandra/bin/backupfiles.sh /nas_csd_backup/prod_backup 7 /nas_csd_backup/prod_keep_backup 365"
when: cassandra_backup_enable
with_items:
- production
В приведенном выше коде все параметры одинаковы, кроме «задания».