Поставить в очередь удаленные команды для выполнения, как только рабочая станция подключится
Я управляю одной рабочей станцией и думаю, что максимум 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, но за это вы проголосовали.:)