значок диспетчера сети с восклицательным знаком

pdsh может делать то, что вы хотите. По умолчанию он будет работать на нескольких машинах одновременно параллельно, но вы можете использовать опцию -f, чтобы ограничить его работу на каждой машине по очереди.

например,

# copy abc.tar.gz to /home/david on machine1..machine12
pdcp -w machine[1-12] abc.tar.gz /home/david

# run a bunch of commands on machine1..machine12
# be careful of quoting
pdsh -w machine[1-12] 'sudo stop service ; do something ; do something else ;
                       sudo start service'

В качестве альтернативы, вместо того чтобы заключать все команды в одинарные или двойные кавычки в командной строке pdsh, вы можете pdcp сценарий оболочки на удаленные машины и запустить его одной командой.

pdcp -w machine[1-12] abc.tar.gz /home/david
pdcp -w machine[1-12] ./my-script.sh /tmp
pdsh -w machine[1-12] sh -c '/tmp/my-script.sh'

(используйте sh -c на случай, если /tmp смонтирован noexec)

Это особенно полезно, если вы хотите не запутаться в нескольких уровнях вложенных кавычек (напр. например, если вам нужно выполнить некоторые команды с помощью sudo или su, или встроить awk или sed или любой другой скрипт). Часто гораздо проще просто написать обычный shell-скрипт (или awk или perl или любой другой), скопировать его туда, где он нужен, и запустить там.

pdsh также позволяет вам использовать файл /etc/genders для определения машин и того, какие (произвольные) атрибуты вы им присваиваете. например.

machine0        master,all
machine[1-12]   machines,all
web[1-4]        webservers,all
db[1-2]         mysql,db,all

Вы можете выбрать машины по атрибутам в командной строке pdsh или pdcp с помощью -g, например. pdcp -g machines abc.tar.gz /home/david или pdsh -g all uname -a или pdsh -g web,db,master uptime.

pdsh был написан для использования на кластерах HPC, но я обнаружил, что он одинаково полезен для массового администрирования любой группы (групп) машин.

BTW, pdsh - это инструмент, отличный от puppet или ansible или cfengine и т.д. - они предназначены для установки и поддержки согласованной среды на группе машин (таких как кластер или ферма виртуальных машин и т.д.). pdsh больше подходит для выполнения разовых команд и/или копий (на или с) на той же группе машин.

-1
03.04.2019, 15:13
1 ответ

Проверка подключения -определяет, что у вас нет глобального подключения. Что дает nmcli general connectivity?

Конечно, вы можете просто игнорировать значок или отключить проверку подключения (см. `man NetworkManager.conf ``). Но было бы интересно, почему NetworkManager считает, что Интернет недоступен, и вместо этого устраняет основную проблему. Включите ведение журнала level=TRACE и просмотрите syslog/journals.

0
28.01.2020, 05:12

Теги

Похожие вопросы