Ansible: Jak skopiować plik, katalog lub skrypt z hosta lokalnego do hosta zdalnego?

Opublikowany: 2019-02-24

Jak skopiować pliki z hosta lokalnego do hosta zdalnego za pomocą Ansible?

W ramach działu zarządzania IT ludzie zajmują się lots of scripts i narzędziami wiersza poleceń. Jestem pewien, że codziennie spotykasz się z sytuacją, w której kopiujesz pliki lub skrypty na tysiące zdalnych hostów.

Ludzie z działu IT nie logują się po prostu do thousands of hosts i ręcznie uruchamiają skrypty. I właśnie dlatego pojawia się Ansible. Ansible to bardzo wydajne rozwiązanie do zarządzania IT dostępne bezpłatnie.

W tym samouczku omówimy kroki, aby skopiować pliki do zdalnego hosta za pomocą Ansible.

Co zamierzamy zrobić?

Skopiuj plik crunchify.txt z lokalizacji /opt/ashah/ do katalogu docelowego zdalnego hosta 192.66.129.83 /opt/ashah/ .

Krok 1

Zainstaluj Ansible na Linux Ubuntu lub macOS. Postępuj zgodnie z samouczkami, aby przejść do szczegółowych kroków.

Krok 2

Rozumiemy podstawy i lokalizację plików w tym samouczku:

  • Lokalizacja pliku konfiguracyjnego: /etc/ansible/ansible.cfg
  • Plik skryptu: /opt/ashah/crunchify.yml
  • plik hosts: /opt/ashah/hosts
  • plik do skopiowania: /opt/ashah/crunchify.txt (plik testowy)

Krok 3

zawartość pliku crunchify.yml .

Krok 4

hosts zawartość pliku. Upewnij się, że zmieniłeś adres IP na zdalny host.

Krok-5

Utwórz plik crunchify.txt z poniższą zawartością.

Krok-6

Uruchom to polecenie, aby skopiować plik na zdalny host:

  • Command : ansible-playbook -b -vvv -u root crunchify.yml -kkkk –extra-vars „crunchify-group” -i hosts

zrozummy wszystkie parametry:

  • -b : uruchom operacje za pomocą zostań (tak samo jak — zostań).
  • -vvv : tryb szczegółowy (-vvv, aby uzyskać więcej, -vvvv, aby włączyć debugowanie połączenia).
  • -u : połącz się jako ten użytkownik (domyślnie=Brak).
  • -kkkk : zapytaj o hasło połączenia.
  • –extra-vars : ustaw dodatkowe zmienne jako klucz=wartość lub YAML/JSON, jeśli nazwa pliku jest poprzedzona znakiem @.
  • -i : określ ścieżkę hosta inwentaryzacji lub listę hostów oddzielonych przecinkami.

Otóż ​​to. Pomyślnie skopiowałeś plik.

Jak sprawdzić, czy plik jest kopiowany na nowy zdalny host?

Po prostu zaloguj się do zdalnego hosta i sprawdź lokalizację /opt/ashah , a zobaczysz plik crunchify.txt

Jak skopiować zawartość katalogu do innego katalogu?

Wystarczy zmienić wartości src i desc pliku crunchify.yml . Oto zaktualizowany plik crunchify.yml.

Wszystkie pliki w folderze /opt/ashah/ zostaną teraz skopiowane na zdalne hosty.

Daj mi znać, jeśli masz jakieś pytanie dotyczące kopiowania pliku do zdalnej lokalizacji za pomocą Ansible.