Я знаю, что я не эксперт, но если у какого-то непонятного новичка такая же проблема, как и я, возможно, это может помочь.
Как я уже писал несколько дней назад, вы изучаете возможность, у вас много серверов, вы даже можете установить nginx, php-fpm, mysql и т. Д. В очень новом окне ubuntu/centos через несколько минут. Что я говорю? Не один, а серверы одновременно, мечта. Но о, о, теперь вам нужно установить разные задачи cron на сервере 1-го уровня и на сервере lemp 2.
Затем вам нужно играть с переменными переменными. Когда вы новичок в мире с переменными, переменные могут быть немного сложными.
Я не говорю, что это лучший подход, но, по крайней мере, вам не нужно поддерживать отдельные файлы cron для каждого отдельного сервера.
Во-первых, я проверяю ansible_hostname из LEMP сервера 1
$ ansible lempserver1 -m setup|grep host
"ansible_hostname": "ns227962",
, как вы видите, имя хоста, возвращаемое анзибль является ns227962. Тогда у меня есть анзибль структуры, как:
- main.yml | _ роли | _cron | _tasks | _main.yml
в основном из хрон роли у меня есть
---
- name: add line to crontab's root - backup
cron: name="backup openvz vps" hour="5" minute="1" weekday="7" job="/root/scripts/openvz_backup_vps > /dev/null"
when: "ansible_hostname == 'ns227962'"
Обратите внимание, что инструкция when и ansible_hostname будет делать трюк.
Тогда я применяю main.yml и все
TASK: [cron | add line to crontab's root - backup] ***********
skipping: [lempserver2]
changed: [lempserver1]
Это сработало! :)
В других ситуациях, когда у вас есть одинаковый конфиг файла, но есть части, которые немного отличаются с использованием шаблонов, будет полезно.
Теперь для меня это нормально, теперь я могу централизовать управление серверами кронов только с одной ролью.
Благодаря
Мне совсем не нравится этот подход, так как вам понадобится новая строка в списке задач для каждого нового сервера add, но также, если сервер изменяет свое имя хоста (например, вы его замените), вы можете закончиться без задания cron на этом сервере. Работы Cron не должны быть централизованы, и когда вы думаете об этом, это не так. привязаны к определенной серверной функции, что делает ее естественной для определения кронов в ролях или в играх, которые настраивают определенную серверную функцию. –
Вы помещаете каждое задание cron в одно и то же место? Рассмотрим размер этой пьесы и путаницу может поддерживать его. –