Kolejny moduł, który bardzo przydaje się w codziennej pracy oraz w rozległym środowisku. Za jednym wykonaniem playbook’a możesz skopiować pliki konfiguracji na wiele maszyn.

Nieco Teorii…

Moduł Copy posiada ponad 20 opcji, które możesz wykorzystać przy tworzeniu listy poleceń mających doprowadzić do skopiowania danych.

W tym wpisie chciałbym pokazać podstawowe zastosowanie, czyli kopiowanie pliku z miejsca A do B. Do tego zabiegu będziesz potrzebował dwóch parametrów:

  • src – wskazuje ścieżkę źródłową pliku,
  • dest – wskazuje ścieżkę docelową pliku na zdalnej maszynie

Dla bezpieczeństwa, aby nie nadpisać pliku w miejscu docelowym, warto dodać również parametr backup.

Praktyczne Przykłady

Celem ćwiczenia będzie przeniesienie pliku o nazwie config.txt, który znajduje się w ścieżce /home/ansible. Chcesz skopiować plik z nowymi ustawieniami z Ansible1 na Ansible2 oraz Ansible3. Dwie pierwsze maszyny działają na Centos 8.2, natomiast Ansible3 jako Debian 10. U mnie te pliki wyglądają tak:

  • Ansible1 – w treści pliku znajduje się: Nowe ustawienia1.
  • Ansible2 – w treści pliku znajduje się: Ustawienia2.
  • Ansible3 – w treści pliku znajduje się: Ustawienia3.

Po wykonaniu skryptu (o którym za chwile), na Ansible2 oraz Ansible3 pojawi się config.txt z Nowe ustawienia1, natomiast stare ustawienia będą w trybie backup.

Jak widzisz skrypt nie jest skomplikowany, po jego wykonaniu na każdej z dwóch testowych maszyn, pojawi się mniej więcej taki widok.

Plik config.txt jest wersją skopiowaną z Ansible1, druga wersja to kopia starej wersji pliku.

Podsumowanie

Kilka linijek kodu i możesz skopiować każdy plik z danymi podmieniając go na maszynie docelowej. Tutaj prosty przykład, ale wyobraź sobie, że musisz skopiować ustawienia dla serwera www na 100 zdalnych maszynach, prawda, że nie zajmie to kilka minut? Zapraszam na kolejny wpis.

Dodaj komentarz

Twój adres email nie zostanie opublikowany.

Droga Administratora IT.