Intereting Posts
Можно ли ссылаться на последний измененный файл в аргументе командной строки? Каков рекомендуемый способ проверки запущенных сервисов? Развернуть концепцию деятельности KDE для оболочки не может получить соотношение 16: 9 на kvm, только 16:10 или 4: 3 Как планировать выполнение задачи cron Как отображать метаинформацию для разных видов времени файла? Исправление CSV-файла, в котором в некоторых строках отсутствуют столбцы. Pulseaudio: четкие настройки, сохраненные модулем plug-in-stream-restore Как создать файл gzip без расширения .gz? Захват пользовательского ввода без необходимости ввода «Ввод» Команда для вывода в текущую подсказку Zsh: команды быстрого закладки Есть ли причина, по которой я получаю ^ [[A, когда я нажимаю стрелку на экране входа в консоль? Извлечение данных из файлов в нескольких каталогах BTRFS RAID1 на разделах вместо диска? (диски разных размеров)

Найти в Ansible и сохранить в файл

Я хочу сохранить результат find в файл с игрой Ansible.

 - name: Find / -name "postgresql" find: paths: /var/log patterns: 'postgresql' 

Результат выше будет сохранен в файл. Проще find / -name "postgresql" > text.txt , это команда find / -name "postgresql" > text.txt в оболочке. Как мне сделать эту команду в Ansible?

Ansible способ сделать это с помощью модуля поиска может быть (я использую /var/log/secure в качестве примера, так как я не запускаю postgres):

 --- - hosts: all tasks: - name: "Find file /var/log/secure" find: paths: /var/log patterns: secure register: result - name: "Save find results to file" copy: content: "{{ result.files }}" dest: "/tmp/find_result.txt" 

Содержимое /tmp/find_result.txt :

 # cat /tmp/find_result.txt [{"uid": 0, "woth": false, "mtime": 1535012977.8429773, "inode": 9013905, "isgid": false, "size": 6867, "wgrp": false, "isuid": false, "isreg": true, "gid": 0, "ischr": false, "wusr": true, "xoth": false, "islnk": false, "nlink": 1, "issock": false, "rgrp": false, "path": "/var/log/secure", "xusr": false, "atime": 1534925281.706685, "isdir": false, "ctime": 1535012977.8429773, "isblk": false, "xgrp": false, "dev": 64768, "roth": false, "isfifo": false, "mode": "0600", "rusr": true}] 

Регистрируя результат и проверяя возвращаемое значение в files , вы получаете доступ к тонне метаданных, которые могут быть полезны.

Если вы хотите меньше выходных данных, используйте одно из других возвращаемых значений, как описано здесь .

В этом случае вы должны использовать модуль оболочки Ansible .

Вот пример:

 - name: Find / -name "postgresql" shell: find / -name "postgresql" > /tmp/text.txt