Jak uruchomić wiele poleceń na wielu serwerach Linux
- 1140
- 189
- Tacjana Karpiński
Jeśli zarządzasz wieloma serwerami Linux i chcesz uruchomić wiele poleceń na wszystkich serwerach Linux, ale nie masz pojęcia, jak to zrobić. W tym prostym przewodniku zarządzania serwerami nie trzeba się martwić, pokażemy, jak uruchomić wiele poleceń na wielu serwerach Linux.
Aby osiągnąć, możesz użyć programu PSSH (Parallel SSH), narzędzie wiersza poleceń do wykonywania SSH równolegle na wielu hostach. Dzięki temu możesz wysłać dane wejściowe do wszystkich procesów SSH ze skryptu powłoki.
Wymagania
- Zainstaluj PSSH, aby uruchomić polecenia na wielu zdalnych serwerach Linux
- Musisz używać uwierzytelniania SSH bez hasła dla wszystkich zdalnych serwerów.
Utwórz skrypt powłoki
Dlatego musisz zacząć od przygotowania skryptu, który zawiera polecenia Linux, które chcesz wykonać na różnych serwerach. W tym przykładzie napiszemy skrypt, który zgromadzi następujące informacje z wielu serwerów:
- Sprawdź czas pracy serwerów
- Sprawdź, kto jest zalogowany i co robią
- Wypisz 5 najlepszych procesów uruchamiających zgodnie z użyciem pamięci.
Najpierw utwórz skrypt o nazwie polecenia.cii Z twoim ulubionym redaktorem.
# vi polecenia.cii
Następnie dodaj następujące polecenia do skryptu, jak pokazano.
#!/bin/bash #########################################################################. ################################# #script Nazwa: polecenia.sh #Description : execute multiple commands on multiple servers #Author : Aaron Kili Kisinga #Email : [email protected] ########################### #########################################################. ### Echo # Pokaż system uptime Uptime Echo # Pokaż, kto jest zalogowany i co robią, kto echem # pokazuje najlepsze procese według użytkowania pamięci RAM PS -eo cmd, PID, PPID,%MEM,%CPU - -SORT = - %mem | głowa -n 6 wyjście 0
Zapisz plik i zamknij go. Następnie skrypt wykonywa się, jak pokazano.
# polecenia chmod +x.cii
Utwórz plik hostów PSSH
Następnie dodaj listę serwerów, na których chcesz uruchomić polecenia, w zastępy niebieskie.tekst plik w formacie [[e -mail chroniony]] host [: port]
lub po prostu podaj adresy IP serwera.
Ale sugerujemy użycie aliasów SSH, które można określić w .ssh/config Plik, jak wyjaśniono w sposób skonfigurowania niestandardowych połączeń SSH w celu uproszczenia dostępu zdalnego.
Ta metoda jest bardziej wydajna i niezawodna, umożliwia określenie opcji konfiguracji (takich jak nazwa hosta, identyfikacja pliku, port, nazwa użytkownika itp.) Dla każdego zdalnego serwera.
Poniżej znajduje się nasze przykładowe hosty ssh plik aliases plik a.k.Plik konfiguracyjny SSH specyficzny dla użytkownika.
# vi ~/.ssh/configSSH hostuje plik aliases
Następnie utwórz zastępy niebieskie.tekst plik, tutaj możesz po prostu określić aliasy (nazwy zdefiniowane za pomocą słowa kluczowego hosta w .plik ssh/config) jak pokazano.
# VI Hosts.tekst
Dodaj aliasy serwera.
Server1 Server2 Server3
Uruchom polecenia za pomocą skryptu na wielu serwerach Linux
Teraz uruchom następujące Pssh polecenie przez określenie zastępy niebieskie.tekst Plik wraz ze skryptem zawierającym wiele poleceń do uruchamiania na wielu zdalnych serwerach.
# PSSH -H Hosts.txt -p -i<./commands.sh
Znaczenie flag użytych w powyższym poleceniu:
-H
- odczytuje plik hostów.-P
- mówi PSSH, aby wyświetlał wyjście, gdy się pojawia.-I
- odczytuje wejście i wysyła do każdego procesu SSH.
Otóż to! W tym artykule pokazaliśmy, jak wykonywać wiele poleceń na wielu serwerach w Linux. Możesz podzielić się wszelkimi przemyśleniami dotyczącymi tego tematu za pośrednictwem sekcji komentarza poniżej.
- « Jak znaleźć określony ciąg lub słowo w plikach i katalogach
- Utwórz wiele adresów IP do jednego interfejsu sieciowego »