Приветствую, сообщество.
Предлагаю поделиться опытом кто как решил/не решил проблему регулярного выполнения шаблонов на клиентских машинах. Например по cron выполнять cl-core --method some-method.
Выполнение шаблонов при логине пользователя не предлагать Некоторые юзвери не перезагружаются месяцами.
Интересует какой метод лучше для этого использовать, и под какое событие шаблоны писать?
cl-core-setup можно использовать для того, чтобы наложить шаблон какого-то конкретного приложения
Как я, например, это вижу. Синхронизируете по крону каталог шаблонов и применяете шаблон конкретного приложения. Если вам не привязать шаблон к чему-то конкретному, можете сделать и фейковое приложение и держать его в своем локальном оверлее.
Хех, это действительно вариант, но фу как некрасиво. Других альтернатив нет?
Было бы замечательно получить спец событие для этого. Н-р: system_configure==up Для контроля за проведенными действиями использовать /etc/calcualte/ini.env по аналогии с ~/.calculate/ini.env.
Что если я захочу поставить/обновить некоторый случайный пакет сразу всем клиентам, лично заходить по cssh и красноглазить? Другое дело написать шаблончик/скриптик который при следующем cron выполнится
Что если я захочу поставить/обновить некоторый случайный пакет сразу всем клиентам, лично заходить по cssh и красноглазить? Другое дело написать шаблончик/скриптик который при следующем cron выполнится
Скриптик закидывается в общий remote-ресурс, настраивается ssh доступ по ключам с сервера на клиенты и в скриптике уже на сервере циклично заходите по ссш на машины в сети и выполняете этот скрипт из общего ресурса.
Скриптик закидывается в общий remote-ресурс, настраивается ssh доступ по ключам с сервера на клиенты и в скриптике уже на сервере циклично заходите по ссш на машины в сети и выполняете этот скрипт из общего ресурса.
Так тоже сработает, но может случиться что сервер будет стучаться в закрытые двери. Вы представьте что машин несколько сотен, какие-то просто выключены, а когда включаться неизвестно. Шаблоны в этом случае 100% выполнились бы, хоть спустя месяц.
Alexander Tratsevskiy wrote:
Приведите пример, что Вы хотите менять по крону.
Более всего мне может потребоваться:
Установить/обновить конкретный пакет.
Менять настройки прокси.
По крону скрипт на машинах может выполнять локальные шаблоны при включении/выключении/входе в сеанс, каждый час или при вызове утилиты с сервера через ssh (‘ssh -o ‘StrictHostKeyChecking=no’ root\@$ip $exec’), просканировав сеть перед этим.
Шаблоны можно построить таким образом, что они будут отписывать версию изменений, как это делается с ~/.calculate/ini.env файлом в пользовательской директории. Эта же функция может работать с ini.env в директории /etc. Если Вы ставите пакет в то время, как в системе работают пользователи, они получат обновления.
2Alexander Tratsevskiy:
Именно так я это все и хочу видеть Интересует лишь способ “поправильнее”. Какой метод использовать, какое событие.
Например могу ли я использовать событие ac_desktop_desktop==up совместно с cl-core – method desktop #- ur_login -# в cron, для настройки системных файлов. Или все же правильнее будет сделать как предложил Юрий, с фейковым приложением. Раньше можно было выполнить cl-templates -l место-шаблонов, а сейчас?
Раньше можно было выполнить cl-templates -l место-шаблонов, а сейчас?
А теперь ‘cl-setup-system -l local’.
Все же несуществующие приложения лучше не создавать, либо привязаться к существующему, но никогда не используемому. А чем плох вызов выполнения локальных шаблонов? Дальше в них можно описать любые условия и события.
Я так понял cl-setup-system будет брать места шаблонов из этой переменной?
Что в данном случае будет считаться локальными шаблонами? Шаблоны из моего оверлея? Если так то мне это подходит.
Какое событие генерирует метод cl-setup-system? ac_install_system?
В 3.1 на смену ac_install_system придёт более логичное имя ac_install_disk. cl-setup-system устанавливает несколько событий: ac_install_merge, ac_install_live и ac_desktop_merge.
Для cl_template_path есть переменная соответствий cl_template_location.