Jak mogę nagrywać polecenia Linuksa?

9

Czy istnieje sposób na zapisanie używanych poleceń Linuksa i ponowne ich użycie na innym komputerze lub w przypadku, gdy chcę ponownie zainstalować komputer?

Na przykład zapisz, jak skonfigurować NginX, PHP i uprawnienia w moim środowisku laboratoryjnym, a następnie powtórz dokładne polecenia na moim komputerze do wdrażania?

Jonas
źródło

Odpowiedzi:

19

Wydaje mi się, że chcesz skrypt (1) .

Pozwala nagrywać i odtwarzać sesje terminali.

Z drugiej strony, jeśli próbujesz zautomatyzować konfiguracje, rozważ zarządzanie konfiguracją, takie jak marionetka .

ptman
źródło
Dzięki za Puppet, wygląda dobrze. Przeczytam o tym więcej.
Jonas
1
+1 za Marionetkę. Jest to znacznie lepsza droga niż po prostu nagrywanie poleceń powłoki.
EEAA
+1. cfengine jest zawodnikiem Puppet, także
gWaldo
2

Dwa sposoby, o których mogę myśleć z góry:

Wir
źródło
2

Bash zapisuje polecenia w pliku o nazwie ~ / .bash_history. Działa to, jeśli robisz wszystko za pomocą wiersza polecenia i jednego okna poleceń.

Ostrzegamy jednak, że ogranicza on rozmiar tego pliku do najnowszych 1000 (domyślnie) poleceń.

Kevin M.
źródło
0

wypróbuj to

skrypt / tmp / it356658 - $ (uname -n) .out

# data

Rajat
źródło
Kieruje scriptwyjście do określonego pliku. Nazewnictwo jest niezwykłe, ale prawdopodobnie pochodzi z większego skryptu powłoki.
mctylr
1
$(uname -n)Jest interpretowany przez linię poleceń, aby uruchomić unamepolecenie z -nflagą wydrukować nazwę hosta systemu.
mctylr
0

Myślę, że możesz użyć autoexpect do tego zadania.

Anonimowy
źródło
Kiedy wypróbowałem, w Ubuntu pojawiło się „polecenie nie znaleziono”.
Jonas
1
Myślę, że byłby to część pakietu Expect, który może nie zostać zainstalowany domyślnie. Ref: linuxjournal.com/article/3065
mctylr
0

Zwykle używam polecenia takiego jak history > ~/tmp/hhzapisanie pliku historii. Następnie używam vi, przeskakuję na dół za pomocą polecenia G, a następnie szukam w górę, aż znajdę część, która byłaby blisko przydatnego punktu wejścia do skryptu. Stamtąd rozkładam obce lspolecenia, łączę serie przyrostowe cdw katalogi, dodam komentarze i zaczynam zastanawiać się, które części powinny być argumentami, które rzeczy mogą być ustawieniami środowiska, a które muszą być zakodowane na stałe. Dodaję wiele komentarzy. Czasami „nakłaniam” do automatyzacji i po prostu daję użytkownikowi kilka instrukcji (znajdź to ustawienie, sshfoo i ..., odkomentuj bla z tego pliku i przenieś go do blargowania) lub echoURL ... i monit ciąg taki jak: „Skonfigurowany Foo i wyjdź>”

(Gdy wykonujesz automatyczną edycję pliku ... Sugeruję dodanie kodu instruktażowego do pliku jako komentarza i użycie czegoś takiego jak przełącznik vi + linii poleceń, aby umieścić kursor edytora w dolnej części pliku, na górze twoich instrukcji. Na przykład z 5 linijkami tekstu instruktażowego ( na przykład tutaj dokument ), który dodajesz '+$-5'do viwiersza poleceń, przed nazwą pliku. ( $-5to stare exzaklęcie adresujące ostatni wiersz pliku, minus pięć wierszy; stosunkowo niejasne +przełącznik viakceptuje każdą ex... : polecenia ... jako argument).

Kolejna sztuczka ... zakładając, że wykonują większość pracy z terminala X Windowing systemu ( xterm, konsole, gnome-terminal, etc), a następnie zachować otwartą przeglądarkę na niektórych stronach wiki, jak przejść. Wytnij i przeszłe polecenia, dane wyjściowe, fragmenty plików tekstowych i notuj notatki podczas pracy. (Zakłada się, że przeważnie pracujesz na swoich serwerach sshze stacji roboczej, komputera stacjonarnego, laptopa itp.).

Oszczędzaj wcześnie i często.

Utwórz nowe strony wiki dla różnych procesów lub etapów. Następnie połącz je ze sobą i odnośniki do wszelkich odnośników w sieci. (Wiesz, wszystkie te strony Google, z których korzystałeś za każdym razem, gdy utknąłeś w dowolnym momencie).

Niektóre z moich najlepszych dokumentów HOWTO zostały utworzone w ten sposób.

Jeśli zrobisz to dobrze, być może uda Ci się odejść od tradycyjnej pracy, delegując do młodszego członka zespołu ... lub chętnego stażysty. :)

Jim Dennis
źródło