Chciałbym skopiować pliki ze zdalnego katalogu do katalogu lokalnego za pomocą Ansible, ale moduł pobierania pozwala mi skopiować tylko jeden plik. Mam wiele serwerów, z których potrzebuję plików (ten sam katalog na każdym serwerze) i nie wiem, jak to zrobić za pomocą Ansible.
Jakieś pomysły?
W tym celu należy użyć modułu synchronizacji . Wykorzystuje to niesamowitą moc rsync . Kopiuje struktury plików i katalogów o dowolnej głębokości, jest kuloodporny i bardzo wydajny - kopiuje tylko te bajty, które uległy zmianie:
Kluczem jest
mode
parametr:źródło
synchronise
moduł jest znacznie bardziej niezawodny i skalowalny niż inne metody, które ansible musi kopiować.nie mam wystarczającej liczby przedstawicieli, aby skomentować, w przeciwnym razie dodałbym to.
Użyłem tego, co napisał Kęstutis. musiałem dokonać drobnej modyfikacji
Elementy with_items to obszar, który musiałem zmienić. w przeciwnym razie nie byłby w stanie zlokalizować plików.
źródło
Naprawianie powyższego przykładu
źródło
cóż, jeśli używasz najnowszej wersji ansible, takiej jak 2.2.1.0, myślę, że potrzebujemy cudzysłowu
źródło
źródło
Używam tego: 1. Ściągnij katalogi ze zdalnego hosta do określonych hostów
Inwentarz
źródło