Как я могу воспроизвести команды, работает на одной машине на другой машине?

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

cat file.log > log.txt и gedit log.txt или терминальный редактор как нано

Править: или cp file.log log.txt который, конечно, легче и быстрее... благодаря комментарию KeithB

8
09.06.2011, 22:44
6 ответов

Ну, я воображаю 2 ситуации здесь:

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

  2. Если бы я должен выполнить много команд, я поместил бы их в сценарий удара и запустил бы скрипт на всех других машинах. Сценарий должен быть похожим на это:

    #!/bin/bash
    command 1
    command 2
    command 3
    command 4
    

Если Вы не уверены в результате некоторых команд, можно разделить команды &&, подразумевать, что следующая команда выполнится, только если предыдущее было успешно. command1 && command2 средства, что command2 не будет выполняться, если command1 перестанет работать.

5
27.01.2020, 20:09
  • 1
    Спасибо за большой ответ. Я настрою PHP+Nginx+PostgreSQL, таким образом, я предположу, что решением для сценария является способ пойти. –  Jonas 18.10.2010, 13:23
  • 2
    Зависит от того, сколько Вы уже знаете, как сделать и сколько раз Вы планируете копировать этот процесс. (Хотя это не автоматизировано, самый полный подход в течение одного или двух раз, когда вещь состоит в том, чтобы, вероятно, сохранить большой документ включая рабочие фрагменты кода и мысли и примечания о процедуре установки, к которой можно обратиться позже...), После того как Вы знаете, как все работает, затем необходимо определенно записать большой Bash или Марионеточный сценарий или что бы то ни было. –  Kevin Cantu 18.10.2010, 23:22

Существует несколько инструментов там, которые позволяют Вам входить в систему и выполнять ряд команд на нескольких машинах одновременно. Вот пара:

5
27.01.2020, 20:09

Patkos является правильным, вероятно, лучше создавать сценарий. Однако для этого, иногда необходимо экспериментировать вокруг, пока Вы не разбираетесь в нем и нуждаетесь в некотором журнале того, что Вы сделали и что было результатом. Здесь инструмент script пригождается.

Это создает запись всего действия в терминале, в котором это работает:

Сценарий делает машинописный текст всего распечатанного на Вашем терминале. Это полезно для студентов, которым нужна запись бумажной копии интерактивной сессии как доказательство присвоения, поскольку файл машинописного текста может быть распечатан позже с lpr (1).

3
27.01.2020, 20:09
  • 1
    Спасибо, я узнаю больше об этом. Это выглядит интересным. –  Jonas 18.10.2010, 14:38
  • 2
    как насчет того, чтобы делать все на одной машине, затем проверьте файл истории (такой как ~/.bash_history для удара или ~/.histfile для zsh) и возможно копировать некоторых? –  phunehehe 18.10.2010, 15:03
  • 3
    История является, вероятно, усеченной к последним 100 командам или некоторому другому произвольному пределу размера, таким образом, необходимо было бы зарегистрироваться в этом. –  Kevin Cantu 18.10.2010, 23:18

http://docs.fabfile.org/0.9.2/ <---Хорошая замена к сценариям, поскольку это может принять меры, если шаг перестал работать

2
27.01.2020, 20:09

Если Вы хотите к первому показу команды в интерактивном режиме на одной машине и затем имеете сценарий, чтобы выполнить их на других, просто открыть Ваш .bash_history (или безотносительно Вашего использования оболочки) в текстовом редакторе и удалить безотносительно ошибок, Вы сделали в первый раз вокруг. Вуаля! У Вас есть сценарий, который можно скопировать в другие машины (с scp, rsync, безотносительно).

В некоторых случаях Вам, вероятно, придется обработать файл немного сначала. Например, я использую zsh и настроил его для добавления различных метаданных (метки даты). Очевидно, необходимо было бы удалить это. Можно легко сделать это в энергии или TextMate или вероятно любом достойном редакторе, использующем выделение блока. Или можно использовать awk или сократить для вывода всего кроме метаданных. Вот один способ сделать это:

cat .zhistory | cut -d';' -f2- 

Но большую часть времени Вы найдете, что Ваш файл истории является просто прямым списком команд, таким образом, Вы, вероятно, не должны будете волноваться ни об одном этом массировании.

1
27.01.2020, 20:09
[1176227] Я создал инструмент с открытым исходным кодом под названием [1176681] Overcast[1176682], чтобы сделать такие вещи проще.

Вы можете раскручивать Virtualbox машины локально (использует Vagrant под капотом) или на кучке различных облачных провайдеров, а затем запускать любые команды или файлы скриптов во всех из них:[12119]

2
27.01.2020, 20:09

Теги

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