Поставить в очередь удаленные команды для выполнения, как только рабочая станция подключится

Я управляю одной рабочей станцией и думаю, что максимум 5 рабочих станций работают под управлением Linux Mint на основе Ubuntu. Мой собственный управляющий компьютер также работает под управлением Mint. Каков хороший способ ставить команды в очередь и выполнять их при подключении хоста к сети?

Следующие требования должны быть выполнены:

  • Добавить / удалить команды из очереди, когда рабочая станция находится в автономном режиме (локальная очередь)
  • код выхода и выхода должен быть зарегистрирован или отправлен по почте (на моем локальном компьютере)
  • не усложняйте: нет большого программного обеспечения для управления или веб-интерфейсов

Я уже думаю о at, Я мог бы передавать команды на пульт at использование очереди batch и заставить их работать, когда система бездействует. Но я не уверен, является ли удаленный atq постоянным, когда пользователь внезапно выключает рабочую станцию.

Есть ли программное обеспечение или лучшие практики для этого?

1 ответ

Ваши рабочие станции могут использовать встроенный cron @reboot атрибут - cron будет выполнять все, что вы хотите во время запуска системы, если вы вставите /etc/crontab строка как это:

@reboot            root    /path/to/your/script

Сценарий может скопировать новые команды, которые должны быть выполнены, с главной рабочей станции, а затем выполнить их, или просто сообщить главной рабочей станции, что, эй, я в сети, пожалуйста, дайте мне знать, если есть что-то новое для меня, чтобы сделать.

Или тогда скрипт может просто использовать rsync и получите все скрипты, которые должны быть запущены. Возможно, у вас есть каталог на главной рабочей станции, где вы отбрасываете сценарии, которые должны запускать клиенты? подобно /opt/scripts/, Клиенты будут rsync dir сценария и затем сравните его из локального файла журнала / состояния, нужно ли им запускать какой-либо сценарий или нет.

В качестве альтернативы вы можете установить реальное программное обеспечение для управления, такое как Puppet или cfengine, но за это вы проголосовали.:)

Другие вопросы по тегам