Копирование файлов с сервера
Модуль fetch работает почти точно так же, как и модуль copy. Основное отличие заключается в том, что файлы копируются на локальный компьютер. Например, для копирования файла hosts с сервера используйте следующую команду:
ansible multi -s -m fetch -a "src=/etc/hosts dest=/tmp"
Fetch поместит файл hosts в папку определенну в dest, в ней создаст каталог с именем хоста и в нем сохранит конечный файл вместе с файловой структурой определенной в src. Таким образом, файл hosts сервера db попадет в /tmp/192.168.60.6/etc/hosts .
Можно добавить параметр flat=yes
, и задать dest dest=/tmp/
(добавить замыкающую косую черту), чтобы Ansible извлек файлы непосредственно в каталог /tmp. Однако имена файлов должны быть уникальными для выполнения этой команды, поэтому это не удобно при копировании файлов с нескольких хостов. Используйте flat=yes, только когда вы копируете файлы с одного хоста.