2016-09-12 5 views

답변

0

환경 변수 ANSIBLE_LOG_PATH를 사용하십시오. 다음과 같이
이 작전을 실행

ANSIBLE_LOG_PATH=/tmp/ansible_$(date "+%Y%m%d%H%M%S").log ansible-playbook myplabook.yml 

가 또는 당신은 당신이 원하는 것을 기록하고 사용자가 원하는 곳에 것이다 당신의 자신의 콜백 플러그인을 작성할 수 있습니다.

0

UNIX 기반 시스템에서 실행중인 경우 inode의 동작을 활용할 수 있습니다. ansible.cfg에 로그 경로를 정의하십시오. 나는 $ HOME/.ansible에 디렉토리를 만들었다.

log_path = $HOME/.ansible/log/ansible.log 

은 플레이 북에서 사전 작업 섹션을 만들고 다음 작업을 포함한다 :

- name: Create the log file for this run 
    shell: /bin/bash -l -c "mv {{ lookup('env', 'HOME') }}/.ansible/log/ansible.log {{ lookup('env', 'HOME') }}/.ansible/log/ansible.log-{{ lookup('pipe', 'date +%Y%m%d%H%M%S') }}" 
    delegate_to: localhost 
    become: yes 
    become_user: "{{ lookup('env', 'USER') }}" 

때 로그 파일을 생성하고 쓰기 시작하는 작전을 실행 ansible 시작됩니다. 그런 다음 로그 파일의 이름이 anonymous.log-YYYYmmddHHMMSS로 바뀌고 로그 파일의 이름이 변경 되었더라도 연관된 inode가 변경되지 않았기 때문에 해당 프로세스는 계속 쓰기가 가능합니다.

관련 문제