Я хотел бы запустить один скрипт оболочки bash на двух или более компьютерах одновременно.Можно ли запустить один сценарий оболочки bash одновременно на нескольких компьютерах? Я помещаю этот сценарий оболочки в Centos 5.5, и другие машины запускают это одновременно.
1 ответ
Моя лучшая ставка будет использовать SSH. Для этого вам, вероятно, необходимо обменяться ключами между вашей главной машиной (на которой находится оригинальный скрипт) и вашими подчиненными (те, которые должны запускать скрипт). Т.е. вам нужно выполнить ssh-keygen на ведущем устройстве и добавить содержимое ~/.ssh/id_rsa.pub (или id_dsa.pub) на главном устройстве к ~/.ssh/authorized_keys на каждом ведомом устройстве. Затем вы можете запустить скрипт, сидящий на ведущем устройстве на каждом подчиненном устройстве следующим образом:
ssh remote_user@slave_machine 'bash -s' < local_script.sh
(который украден из этого ответа).
Если у вас есть список подчиненных машин, вы можете повторить это на каждом из них следующим образом:
slaves = slaveA slaveB ...
for slave in slaves; do
ssh remote_user@${slave} 'bash -s' < local_script.sh
done
Надеюсь, это поможет.