Ansible에서 찾아 파일에 저장

Ansible에서 찾아 파일에 저장

findAnsible 재생을 사용하여 결과를 파일에 저장하고 싶습니다 .

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

위 결과는 파일로 저장됩니다. 간단히 말해서 명령은 find / -name "postgresql" > text.txt셸에 있습니다. Ansible에서 이 명령을 어떻게 실행합니까?

답변1

이 작업을 수행하는 가능한 방법모듈 찾기/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잠재적으로 유용한 풍부한 메타데이터에 액세스할 수 있습니다.

더 적은 출력을 원할 경우 문서화된 다른 반환 값을 사용하세요.여기.

답변2

당신은 사용해야합니다Ansible 쉘 모듈이 경우.

예는 다음과 같습니다.

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

관련 정보