Я пытаюсь автоматизировать установку Icinga2 на многих удаленных клиентах. Токен PKI будет сгенерирован на сервере Icinga, и он будет разным для каждого клиента. Затем его следует отправить каждому клиенту. В рамках установки клиента будет запущен мастер узла icinga2, и я хотел бы передать ряд входных данных в приглашение, как показано ниже. Не могли бы вы проверить, правильно ли я использую heredoc?
#!/bin/bash
while read f; do
ssh-copy-id myusername"$f"
ssh myusername@"$f" '
yum install -y epel-release
wget --no-check-certificate https://packages.icinga.org/epel/7/release/noarch/icinga-rpm-release-7-1.el7.centos.noarch.rpm
yum install icinga-rpm-release-7-1.el7.centos.noarch.rpm
yum install -y icinga2 nagios-plugins-all
chown -R icinga:icinga /etc/icinga2 /var/lib/icinga2 /var/log/icinga2' </dev/null
ssh [email protected] icinga2 pki ticket --cn "$f" |
ssh myusername@"$f" 'cat >/tmp/pkicode'
PKI= echo $/tmp/pkicode
icinga2 node wizard << EOF
Y
Enter
master.icinga.test.com
Y
10.20.20.1
N
Y
$PKI
Enter
Enter
Y
Y
Enter
Enter
N
N
EOF
scp ./zones.conf myusername@"$f":/etc/icinga2/zones.conf
done < linux-list.txt
Спасибо
<<EOF
требует, чтобыEOF
было выровнено по левому краю, а не с отступом. - person Charles Duffy   schedule 27.07.2018linux-list.txt
на FD, отличном от стандартного ввода, чтобы избежать необходимости</dev/null
для каждого процесса, который в противном случае мог бы использовать часть своего содержимого.5<linux-list.txt
, а затемwhile read -r f <&5; do
, например. - person Charles Duffy   schedule 27.07.2018