Vladislav
тогда выполняю таску
Vladislav
flush handlers. Но будь с этим аккуратнее
он сразу все обработчики выполняет по моему
Отделение Bereke Bank
он сразу все обработчики выполняет по моему
Все что было notify-нуто до вызова flush handlers
Vladislav 👻
Подскажите, а можно сразу файл для крона загрузить при помощи ansible?
Vladislav 👻
есть кронтаб файл, его надо загрузить для пользователя
Vladislav 👻
гугл что-то предлагает через shell делать, но как-то такое...
Андрей
Отделение Bereke Bank
есть кронтаб файл, его надо загрузить для пользователя
Засунь темплейтом в /var/spool/cron/username может сработает
Vladislav 👻
🤔
George
А модуля для Кронтаба нет разве ?
Vladislav 👻
не вижу что-то
Grek 🇺🇦
не вижу что-то
https://docs.ansible.com/ansible/latest/modules/cron_module.html
Vladislav 👻
это cron, crontab файлы там нельзя ворочить
Vladislav 👻
только самому лепить, но описывать 115 тасок мне как-то не очень хочется...
Vladislav 👻
и городить огород ввиде циклов и списков тоже
George
Напиши свой модуль для кронтабов
George
Че-то идея их руками создавать мне не очень нравится
Aleksey
только самому лепить, но описывать 115 тасок мне как-то не очень хочется...
видел более одной готовой роли по такому вот принципу
George
И вроде как может случиться так, что или каталога нет, или он в другом месте
Отделение Bereke Bank
вот у меня есть ебучий ямл в 1000 строк. 100 кронов сайтов)
Vladislav 👻
проблема в том, что для пользователей мне надо оставить кронтаб лучше всего
Vladislav 👻
да, похоже, что модуль или баш
Vadim "Oxyd"
да, похоже, что модуль или баш
Сейчас тут скажут за баш... 😉
Отделение Bereke Bank
https://youtu.be/ZEbg0HryWsU
Vladislav 👻
Сейчас тут скажут за баш... 😉
Я и так про него все знаю и сам не приветствую
Кирилл
доброй ночи подскажите плз, как правильно генерировать конфиги? Есть zabbix_agentd.conf, в котором нужно поменять строку Server=127.0.0.1 на Server=zbx.name.ololo Верно ли идеологически брать оригинал конфига, положить его в template как zabbix_agentd.conf.j2 Изменить Server=127.0.0.1 на Server={{ ZBX_HOST }} и далее через var сгенерить конфиг Или правильно изменять конфиг на целевом хосте через replace?
Tadeusz
да хоть sed'ом )
George
Нормально, через темплейтинг
George
Сед и реплейс не ремкомендую при прочих равных
Mikee
Если не собираешься постоянно менять версии, в которых темплейт нужно будет обновлять постоянно)
Кирилл
спасибо
Кирилл
Используй роль заббикс-васаби
посмотрел-впечатлился вот это комбайн-кофемолка на все случаи жизни ))
Sergei
еще раз: - name: "Add lines to config" # become: yes become_user: root become_method: su become_flags: '-s /bin/sh' # tags: example2 blockinfile: path: ./some.txt marker: "" block: UUID={{ some_some.stdout }} {{ FSTAB['disk']['system']['point'] }} {{ FSTAB['disk']['system']['fs'] }} {{ FSTAB['disk']['system']['options'] }} при таком варианте создается: cat some.txt пустая строка UUID=cb141726-00ba-4b79-833c-526f8dfe2494 / ext4 noatime,commit=60,barrier=0,errors=remount-ro 0 1
Sergei
как сделать, чтобы пустой строки не было?
Sergei
Использовать mount https://docs.ansible.com/ansible/latest/modules/mount_module.html
не, мне не надо модуль, мне надо именно текстом
Lamobot
не, мне не надо модуль, мне надо именно текстом
Модуль как раз и позволяет создавать fstab записи. Но скорее всего у вас в файле пустая строка в конце.
Lamobot
Напиши что нибудь в маркер
Хотя да, можно просто убрать marker
Sergei
Хотя да, можно просто убрать marker
ну так этот же маркер появится в файле
Sergei
я же не просто так убрал маркер 😄
Отделение Bereke Bank
Но там будет не пустая строка
Отделение Bereke Bank
А коммент
Отделение Bereke Bank
Sergei
А коммент
как вариант - да. А если мне всё же нужна только строка без коммента?
Отделение Bereke Bank
Ещё можешь блок и маркер поменять местами. Ни разу не пробовал но интересно стало
Отделение Bereke Bank
поменял. Пустая строка так и осталась перед текстом
В плане значение блока засунь в маркер. Не помогло?
Sergei
#block: marker: "UUID={{ some_some.stdout }} {{ FSTAB['disk']['system']['point'] }} {{ FSTAB['disk']['system']['fs'] }} {{ FSTAB['disk']['system']['options'] }}" out: cat some.txt empty block: marker: "UUID={{ some_some.stdout }} {{ FSTAB['disk']['system']['point'] }} {{ FSTAB['disk']['system']['fs'] }} {{ FSTAB['disk']['system']['options'] }}" out: cat some.txt UUID=cb141726-00ba-4b79-833c-526f8dfe2494 / ext4 noatime,commit=60,barrier=0,errors=remount-ro 0 1 None UUID=cb141726-00ba-4b79-833c-526f8dfe2494 / ext4 noatime,commit=60,barrier=0,errors=remount-ro 0 1
Отделение Bereke Bank
Хуево)
Отделение Bereke Bank
А почему не темплейт модуль?
Sergei
А почему не темплейт модуль?
а как юзать темплейт модуль?
Sergei
и тут же строк будет не одна
Sergei
cat some.txt # system disk UUID=cb141726-00ba-4b79-833c-526f8dfe2494 / ext4 noatime,commit=60,barrier=0,errors=remount-ro 0 1 # system disk # home disk UUID=ce67b130-8f16-43ce-bf67-2225e60ec613 /home ext4 defaults,noatime,commit=60,data=writeback,barrier=0,journal_async_commit 0 2 # home disk
Sergei
маркер вставляется два раза
Sergei
https://stackoverflow.com/questions/41284602/blockinfile-keeps-adding-the-block/41284686#41284686
Sergei
но тут чуть другое
Sergei
## BEGIN system disk UUID=cb141726-00ba-4b79-833c-526f8dfe2494 / ext4 noatime,commit=60,barrier=0,errors=remount-ro 0 1 ## END system disk ## BEGIN home disk UUID=ce67b130-8f16-43ce-bf67-2225e60ec613 /home ext4 defaults,noatime,commit=60,data=writeback,barrier=0,journal_async_commit 0 2 ## END home disk
Sergei
но это же некрасиво)))
Sergei
https://qastack.ru/server/755934/ansible-blockinfile-disable-marker
Sergei
ну э....😂
Sergei
Маркер "" вставит пустые строки в файл lineinfile удалит их (вместе со всеми остальными пустыми строками), так что будьте осторожны !!
Sergei
такой подход нельзя юзать
Sergei
т.к это конфиг покоцает
Sergei
ВО!111!!! Так работает lineinfile: dest: ./some.txt line: "UUID={{ some_some.stdout }} {{ FSTAB['disk']['system']['point'] }} {{ FSTAB['disk']['system']['fs'] }} {{ FSTAB['disk']['system']['options'] }}"
Sergei
Это не выполняется. Как правильно? - name: "Add swap fstab" shell: | cat <<EOF if [[ ! -f {{ FSTAB['disk']['swap']['device'] }} ]];then dd if=/dev/zero of={{ FSTAB['disk']['swap']['device'] }} bs=1024 count={{ FSTAB['disk']['swap']['device'] }}*1024*1024 mkswap {{ FSTAB['disk']['swap']['device'] }} fi EOF
Igor
У меня есть переменная в джиндже - {{ myvar | to_json }}. Как мне убрать первое поле джсона?
George
Что такое первое после джисона ?
George
Почему тупо не распилить на несколько тасок с регистрацией результата - во-первых
George
А во-вторых задействовать какие-то более конвенциональные способы вызова модулей ?
Igor
Что такое первое после джисона ?
{ "name": "my-role", "cluster": [ "all" ], Ну вот идет name, хочу чтобы он обрезался и шел только cluster и все остальное.
George
jmespath ? Подойдёт ?