Ну, я представляю 2 ситуации здесь:
Если мне нужно выполнить небольшое количество команд, я бы просто запустил их снова на любой другой машине (под небольшим числом я имею в виду менее 10)
Если мне нужно выполнить много команд, я бы поместил их в скрипт bash и запустил скрипт на всех других машинах. Сценарий должен выглядеть так:
#!/bin/bash
command 1
command 2
command 3
command 4
Если вы не уверены в результате выполнения некоторых команд, вы можете разделить команды &&
, что означает, что следующая команда будет выполняться только в том случае, если предыдущая была успешной. command1 && command2
означает, что команда2 не будет выполнена, если команда1 не выполнена.
Есть несколько инструментов, которые позволяют вам входить в систему и выполнять серии команд на нескольких машинах одновременно. Вот пара:
источник
Паткос прав, наверное, лучше всего создать сценарий. Однако для этого иногда приходится экспериментировать, пока не получится правильно, и вам не понадобится журнал того, что вы сделали и каков был результат. Здесь инструмент
script
пригодится.Он создает запись всей активности в терминале, в котором он работает:
источник
http://docs.fabfile.org/0.9.2/ <--- Отличная замена сценариям, так как она может предпринимать действия в случае неудачного шага
источник
Я создал инструмент с открытым исходным кодом под названием Overcast, чтобы упростить эту задачу.
Вы можете раскрутить машины Virtualbox локально (использует Vagrant под капотом) или на нескольких разных облачных провайдерах, а затем запустить любые команды или файлы сценариев на всех из них:
источник
Если вы хотите сначала запустить команды в интерактивном режиме на одном компьютере, а затем создать сценарий для их запуска на других компьютерах, просто откройте .bash_history (или любую другую оболочку) в текстовом редакторе и удалите все ошибки, которые вы сделали в первый раз. около. Вуаля! У вас есть скрипт, который вы можете скопировать на другие машины (с помощью scp, rsync и т. Д.).
В некоторых случаях вам, возможно, придется сначала немного обработать файл. Например, я использую zsh и настроил его для добавления различных метаданных (меток даты). Очевидно, вам нужно удалить это. Вы можете легко сделать это в vim или TextMate, или, возможно, в любом приличном редакторе, используя выбор блоков. Или вы можете использовать awk или cut для вывода всего, кроме метаданных. Вот один из способов сделать это:
Но большую часть времени вы обнаружите, что ваш файл истории представляет собой простой список команд, поэтому вам, вероятно, не нужно беспокоиться о каком-либо из этих сообщений.
источник