- - Jak wykonać kopię zapasową historii terminali Linux

Jak wykonać kopię zapasową historii terminali Linux

Terminal Linux ma funkcję „historii”. Dzięki tej funkcji każda wpisana operacja polecenia zostanie utworzona w celu późniejszego wykonania kopii zapasowej. Ponieważ wszystkie polecenia terminala są zapisywane w „historii”, ważne jest, aby zachować jego kopię zapasową w celu przechowywania.

W tym przewodniku pokażemy, jak wykonać kopię zapasową historii terminali systemu Linux, a także jak przywrócić kopie zapasowe. Więc otwórz swój ulubiony emulator terminala Linux i śledź dalej!

Gdzie jest przechowywana historia terminali Linuksa?

Terminal Linux przechowuje swoją historię w pliku. Ten plik ma nazwę „.bash_history”. Każdy może go edytować i jest przechowywany w katalogu domowym. Ponieważ plik historii terminali dla systemu Linux jest przechowywany w katalogu użytkowników, każdy użytkownik w systemie ma plik.

Specjalne uprawnienia nie chronią tej historiipliki i każdy użytkownik w systemie może przeglądać historię innego za pomocą prostego polecenia. Na przykład, jeśli chcę rzucić okiem na historię terminala / wiersza poleceń nazwy użytkownika „użytkownik” w moim systemie Linux, zrobiłbym:

cat /home/user/.bash_history

Użytkownicy mogą również przeglądać historię bieżącego użytkownika, do którego są zalogowani, w powłoce terminalu Linux, po prostu wykonując polecenie „historia”.

history

Najlepsze jest to, że ponieważ „historia” to tylko plik, można go przeszukiwać jak zwykły plik tekstowy za pomocą funkcji grep. Na przykład, aby znaleźć wystąpienia „git clone” w nazwie użytkownika za pomocą poniższego polecenia.

cat /home/user/.bash_history | grep "git clone"

Działa również jako bieżący zalogowany użytkownik za pomocą polecenia „historia”.

history | grep "search term"

Zapisz historię terminali w kopii zapasowej

W poprzedniej części tego przewodnika mówiłemo tym, jak „historia” terminala Linuksa jest po prostu starannie ukrytym plikiem tekstowym, który zawiera wszystkie polecenia wprowadzone przez użytkownika. Ponieważ jest to tylko plik, oznacza to, że tworzenie kopii zapasowej jest bardzo łatwe.

Aby utworzyć kopię zapasową, skorzystaj z kot dowództwo. Czemu? Z kot, możesz wyświetlić całość pliku tekstowego bezpośrednio w terminalu. Możemy użyć tego polecenia w połączeniu z symbolem „>”, aby przekierować oglądane dane wyjściowe do pliku kopii zapasowej.

Na przykład, aby wykonać kopię zapasową bieżącej historii, uruchom kot polecenie przeciwko „~ / .bash_history” i zapisz go w pliku z etykietą „history_backup”.

cat ~/.bash_history > history_backup

Możesz także uruchomić historia polecenie w połączeniu z „>” i zapisz w ten sposób.

history > history_backup

Wreszcie można wykonać kopię zapasową historii wiersza polecenia / terminala innego użytkownika, który nie jest zalogowany, wykonując poniższe polecenie.

Uwaga: pamiętaj, aby zmienić „nazwę użytkownika” na użytkownika, od którego chcesz zapisać historię.

cat /home/username/.bash_history > history_backup

Tworzy kopie zapasowe tylko niektórych elementów historii

Możesz wykonać kopię zapasową tylko określonych poleceń w historii terminali Linuksa. Można to zrobić, przeglądając plik historii i łącząc go z grep polecenie, które odfiltruje określone słowa kluczowe.

Na przykład, aby wykonać tylko kopie zapasowe poleceń w historii terminali Linux, które zawierają klon gita lub git polecenia, możesz uruchomić operację poniżej.

Uwaga: w tych przykładach używamy „>>” zamiast „>”. Powodem „>>” jest to, że nie zastąpi on zawartości kopii zapasowej pliku historii i może być wielokrotnie uruchamiany ponownie, aby dodać do utworzyć kopię zapasową.

cat ~/.bash_history | grep "git" >> history_backup

Lub

cat /home/username/.bash_history | grep "git" >> history_backup

Filtrowanie za pomocą grep można również zastosować do historia polecenie, tak jak.

history | grep "git" >> history_backup

Aby wykonać kopię zapasową niektórych słów kluczowych z pliku historii, zastąp „git” w powyższych przykładach dowolnymi poleceniami, których kopię zapasową chcesz wykonać. Ponownie uruchom tę komendę w razie potrzeby.

Jak przywrócić kopię zapasową historii

Przywrócenie kopii zapasowej historii jest tak proste, jak usunięcie oryginalnego pliku i umieszczenie kopii zapasowej na swoim miejscu. Aby usunąć oryginalny plik historii, użyj rm polecenie w oknie terminala, aby usunąć „.bash_history”.

rm ~/.bash_history

Po usunięciu oryginalnego pliku historii z folderu domowego użytkownika, w którym chcesz przywrócić historię, użyj mv polecenie zmiany nazwy „history_backup” na „.bash_history”.

mv history_backup ~/.bash_history

Teraz, gdy nowy plik historii jest już uruchomiony, uruchom historia -rw polecenie, aby ponownie załadować funkcję historii terminala.

history -rw

Będziesz wtedy mógł zobaczyć swoją historię terminali dzięki:

history

Przywróć kopie zapasowe dla innych użytkowników

Chcesz przywrócić kopie zapasowe historii od innych użytkowników w systemie? Aby to zrobić, zacznij od zalogowania się do użytkownika za pomocą su Komenda.

su username

Po zalogowaniu się do użytkownika usuń bieżący plik historii, który znajduje się w katalogu osobistym użytkownika (~).

rm ~/.bash_history

Następnie zmień nazwę pliku kopii zapasowej historii na nowy plik „.bash_history” w katalogu użytkownika.

mv /path/to/backup/file/history-backup ~/.bash_history

Zapisz zmiany za pomocą:

history -rw

Po zakończeniu uruchom historia aby wyświetlić przywrócone polecenia w oknie terminala.

Komentarze