Jak nagrywać i odtwarzać sesje terminali Linux za pomocą poleceń „Script” i „ScripTreplay”

Jak nagrywać i odtwarzać sesje terminali Linux za pomocą poleceń „Script” i „ScripTreplay”

W tym przewodniku przyjrzymy się, jak użyć scenariusz I Scriptreplay Polecenia w systemie Linux, które mogą pomóc w rejestrowaniu poleceń i ich wyjściu wydrukowanym na terminalu podczas danej sesji.

Nagraj i powtórz polecenia terminalu Linux

Polecenie historii jest doskonałym narzędziem wiersza poleceń, które pomaga użytkownikom przechowywać poprzednie używane polecenie, choć nie przechowuje wyjścia polecenia.

Nie przegap: Showterm.IO - narzędzie do nagrywania terminalu Linux

Nie przegap: 8 najlepszych rejestratorów ekranu stacjonarnego dla Linux

Dlatego też scenariusz Polecenie przydaje się, aby zapewnić potężną funkcjonalność, która pomaga nagrywać wszystko, co jest wydrukowane na terminalu do plik dziennika. Następnie możesz zapoznać się z tym plikiem później, na wypadek gdybyś chciał wyświetlić dane wyjściowe polecenia w historii z plik dziennika.

Możesz także odtworzyć polecenia, które nagrałeś za pomocą Scriptreplay polecenie za pomocą informacji o czasie.

Jak nagrać terminal Linux za pomocą polecenia skryptu

scenariusz Polecenie przechowuje działania terminalowe w pliku dziennika, który może być wymieniony przez użytkownika, gdy nazwa nie jest dostarczana przez użytkownika, domyślna nazwa pliku, maszynopis Jest używane.

Podstawowa składnia polecenia skryptu
# skrypt [opcje] - -timing = timing_file log_fileName 

Aby rozpocząć nagrywanie terminalu Linux, wpisz scenariusz i dodaj dziennik Nazwa pliku jak pokazano.

[chroniony e -mail] ~ $ Script History_log.tekst Rozpoczęty skrypt, plik to historia_log.tekst 

Zatrzymać scenariusz, typ Wyjście i naciśnij [Wchodzić].

[chroniony e -mail] ~ $ Wyjście Skrypt wykonany, plik to historia_log.tekst 

Jeśli skrypt nie może zapisać do nazwanego pliku dziennika, wyświetla błąd.

Na przykład w poniższym wyjściu uprawnienia pliku maszynopis nie zezwala na czytanie, pisanie i wykonywanie pliku, a nie przez żadnego użytkownika lub grupy. Po uruchomieniu polecenia skryptu bez nazwy pliku dziennika próbuje zapisać do pliku domyślnego, maszynopis Stąd pokazanie błędu.

[chroniony e -mail] ~ $ LS -L TypeScript --------- 1 Ubuntu Ubuntu 144 września 15 00:00 maszynopis [chroniony e -mail] ~ $ scenariusz Skrypt: Otwórz nieudany: TypeScript: odmowa uprawnień Zakończony 

Przykłady korzystania z polecenia skryptu

Nazwałem mój plik dziennika scenariusz.dziennik W poniższym przykładzie możesz nadać plik inną nazwę.

[chroniony e -mail] ~ $ skrypt skryptu.dziennik 

Teraz spróbuj wykonać kilka poleceń, aby umożliwić skrypt nagranie wykonanych poleceń na terminalu.

[chroniony e -mail] ~ $ cal Wrzesień 2015 r. SU MO TU TH FR SA 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 [chroniony e -mail] ~ $ w 14:49:40 w górę 4:06, 2 użytkowników, obciążenie średnia: 1.37, 1.56, 1.62 Użytkownik tty z [chroniony e -mail] bezczynny jcpu pcpu co TecMint tty8: 0 10:45 4: 06m 7:40 0.36S X-Session-Manager Tecmint PTS/5: 0 13:42 4.00s 0.07S 0.Skrypt skryptu 00S.dziennik [chroniony e -mail] ~ $ czas aktu 14:49:43 w górę 4:06, 2 użytkowników, ładowanie średniej: 1.37, 1.56, 1.62 [chroniony e -mail] ~ $ kim jestem Tecmint [chroniony e -mail] ~ $ Echo „Używanie skryptu” za pomocą skryptu [chroniony e -mail] ~ $ Wyjście Wykonany skrypt, plik to skrypt.dziennik 

Teraz spróbuj wyświetlić plik dziennika 'scenariusz.dziennik„Dla wszystkich nagranych poleceń, podczas gdy oglądasz dziennik.

[chroniony e -mail] ~ $ Skrypt vi.dziennik 
Przykładowy wyjście
^[[0m^[[255d^[[01; [e -mail chroniony]^[[01; 34m ~ $^[[00m cal^m września 2015^m su mo nas th fa^m 1 2 3 4 5 ^M 6 7 8 9 10 11 12 ^M 13 14 15 ^[[7M16 ^[[27M 17 18 19 ^M 20 21 22 23 24 25 26 ^M 27 28 29 30 ^M ^M ^[01; [[01; [[01; [ e -mail chroniony]^[[01; 34m ~ $^[[00m W^M 14:49:40 w górę 4:06, 2 użytkowników, średnia ładowanie: 1.37, 1.56, 1.62^m Użytkownik Tty z [chroniony e -mail] bezczynny jcpu pcpu co^m tecMint tty8: 0 10:45 4: 06m 7:40 0.36S X-Session-Manager^M Tecmint PTS/5: 0 13:42 4.00s 0.07S 0.Skrypt skryptu 00S.log^m^[[01; [e -mail chroniony]^[[01; 34m ~ $^[[00M Uptime^M 14:49:43 w górę 4:06, 2 użytkowników, średnia ładowanie: 1.37, 1.56, 1.62^m^[[01; [e -mail chroniony]^[[01; 34m ~ $^[[00m whoami^m tecminint^m^[[01; [e -mail chroniony]^[[01; 34m ~ $^[[[ 00m echo "^hu '^hs'^hi '^hn'^hg '^h'^hs '^hc'^hr '^hi'^hp '^ht'^h^m przy użyciu skryptu^m^[[[ 01; [e -mail chroniony]^[[01; 34M ~ $^[[00M EXIT^M EXIT^M Skrypt wykonany w środę 16 września 2015 r. 02:49:59 PM IST ~ 

Możesz użyć -A opcja dołączania pliku dziennika lub typesprze, zachowując wcześniejszą zawartość.

[chroniony e -mail] ~ $ skrypt -a Skrypt.dziennik Skrypt uruchomiony, plik to skrypt.dziennik [chroniony e -mail] ~ $ data Wed 16 września 14:59:36 IST 2015 [chroniony e -mail] ~ $ PWD /Home/Tecmint [chroniony e -mail] ~ $ Gdzie jest skrypt skrypt:/usr/bin/script/usr/bin/x11/script/usr/share/man/man1/script.1.GZ [chroniony e -mail] ~ $ Whois Script Skrypt (1) - Make ComeScript of Terminal Session 

Wyświetl zawartość skryptu, zaloguj się po użyciu -A opcja, aby to dołączyć.

[chroniony e -mail] ~ $ Skrypt vi.dziennik 
Przykładowy wyjście
^[[0M^[[255d^[[01; [e -mail chroniony]^[[01; 34m ~ $^[[00m data^m Wed 16 września 14:59:36 IST 2015^M^[[01; [ e -mail chroniony]^[[01; 34m ~ $^[[00M pwd^m /home /tecminint^m^[[01; [e -mail chroniony]^[[01; 34m ~ $^[[00M WHRE^H^[ [K^H^[[Kereis Script^M Script:/usr/bin/script/usr/bin/x11/script/share/man/man1/script.1.gz^m^[[01; [e -mail chroniony]^[[01; 34m ~ $^[[00M Script^m Script (1) - Make Pogamipript of Terminal Session^M^[[01; [e -mail chroniony]^ [[01; 34m ~ $^[[00M vi s^h^[[k^h^[[k^h^[[k^h^[[Kexit^m exit^m 

Aby zarejestrować wyniki pojedynczego polecenia innego niż interaktywna sesja powłoki, użyj -C opcja.

[chroniony e -mail] ~ $ skrypt -c „nazwa hosta”.dziennik Skrypt uruchomiony, plik to skrypt.Log TecMint.COM Skrypt wykonany, plik to skrypt.dziennik 

Jeśli chcesz, aby skrypt działał w trybie cichym, możesz użyć -Q opcja. Nie zobaczysz wiadomości, która pokazuje, że skrypt zaczyna lub wychodzi.

[chroniony e -mail] ~ $ skrypt -c „kto” -q skrypt.dziennik TecMint TTY8 2015-09-16 10:45 (: 0) Tecmint PTS/5 2015-09-16 13:42 (: 0) 

Aby ustawić informacje o pomiarze czasu na błąd standardowy lub plik użyj -wyczucie czasu opcja. Informacje o czasie są przydatne, gdy chcesz ponownie podzielić się wyjścia przechowywanego w pliku log_.

Rozpocznijmy skrypt i uruchom następujące polecenia w, czas aktu I cal do zarejestrowania.

[chroniony e -mail] ~ $ skrypt - -timing = czas.skrypt txt.dziennik Skrypt uruchomiony, plik to skrypt.dziennik [chroniony e -mail] ~ $ w 15:09:31 w górę 4:26, 2 użytkowników, ładowanie średniej: 1.38, 1.39, 1.47 Użytkownik TTY z [chroniony e -mail] bezczynny jcpu pcpu co TecMint tty8: 0 10:45 4: 26m 8:15 0.38S X-Session-Manager Tecmint PTS/5: 0 13:42 3.00s 0.09s 0.Skrypt 00s - -timing = czas.skrypt txt.dziennik [chroniony e -mail] ~ $ czas aktu 15:09:36 w górę 4:26, 2 użytkowników, ładowanie średniej: 1.43, 1.40, 1.48 [chroniony e -mail] ~ $ cal Wrzesień 2015 r. SU MO TU TH FR SA 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 

Możesz zobaczyć scenariusz.dziennik I czas.tekst plik dla polecenia czasu powyżej.

[chroniony e -mail] ~ $ Skrypt vi.dziennik 
Przykładowy wyjście
^[[0m^[[255d^[[01; [e -mail chroniony]^[[01; 34m ~ $^[[00m W^M 15:12:05 w górę 4:28, 2 użytkowników, średnia ładowanie: 1.31, 1.37, 1.45^m Użytkownik Tty z [chroniony e -mail] bezczynny jcpu pcpu co^m tecMint tty8: 0 10:45 4: 28m 8:20 0.38S X-Session-Manager^M Tecmint PTS/5: 0 13:42 5.00s 0.09s 0.Skrypt 00s - -timing = czas.skrypt txt.log^m^[[01; [e -mail chroniony]^[[01; 34m ~ $^[[00M Uptime^M 15:12:07 w górę 4:28, 2 użytkowników, średnia ładowanie: 1.29, 1.36, 1.45 ^m ^[[01; [e -mail chroniony] ^[[01; 34m ~ $ ^[[00m cal ^m wrzesień 2015 ^m su mo tu th fa ^m 1 2 3 4 5 ^m 6 7 8 9 10 11 12 ^M 13 14 15 ^[[7m16 ^[[27M 17 18 19 ^M 20 22 23 23 24 25 26 ^M 27 28 29 30 ^M ^M ^M 

Teraz zobacz czas.tekst plik.

[chroniony e -mail] ~ $ VI Time.tekst 
Przykładowy wyjście
0.259669 306 0.037680 829 0.000006 2 0.000002 100 0.000002 2 0.000002 102 0.000019 202 0.000004 2 0.000002 102 0.000015 100 0.000002 2 0.000003 2 0.000002 99 0.000011 2 0.000003 82… 

czas.tekst Plik ma dwie kolumny, pierwsza kolumna pokazuje, ile czasu minęło od ostatniego wyświetlacza i drugiej kolumny, pokazuje liczbę znaków, które zostały wyświetlone tym razem.

Użyj strony Man i -pomoc Aby szukać większej liczby opcji i pomóc w korzystaniu z narzędzia wiersza polecenia skryptu.

Korzystanie z ScripTreplay do odtwarzania skryptów za pomocą informacji o czasie

Scriptreplay Polecenie pomaga odtworzyć informacje w Twoim plik dziennika nagrane przez scenariusz Komenda.

Informacje o czasie są zdefiniowane przez -plik czasu = plik Opcja używana z scenariusz polecenie i plik W tym przypadku jest plik.tekst To było używane z poleceniem skryptu .

Pamiętaj, że musisz określić plik dziennika Użyłeś z poleceniem skryptu.

Odtworzmy teraz trzy ostatnie polecenia w, czas aktu I cal że biegliśmy następująco.

[chroniony e -mail] ~ $ Scriptreplay - -timing = czas.skrypt txt.dziennik 
Powtórz ostatnie wykonane polecenia w Linux

Kiedy plik dziennika Odtwarzane za pomocą informacji o pomiarach, nagrane polecenia są uruchamiane, a ich wyjście jest wyświetlane w tym samym czasie, gdy oryginalne wyjście zostały wyświetlone podczas rejestrowania.

Streszczenie

Te dwa polecenia, scenariusz I Scriptreplay Łatwy w użyciu i bardzo pomaga, gdy trzeba uruchomić tę samą partię poleceń kilka razy. Bardzo pomagają w zarządzaniu serwerami, które mają tylko interfejs wiersza poleceń do interakcji z systemem. Mam nadzieję, że ten przewodnik był przydatny, a jeśli masz coś do dodania lub stawienie czoła wyzwaniu podczas ich używania, nie wahaj się opublikować komentarza.