2016-09-12 3 views
-1

Как добавить дату, временную метку в файл незаменимого журнала? В настоящее время у меня есть как log_path =/вар/анзибль-playbooks/ansible.log в ansible.cfgКак добавить дату, временную метку в файле незаменимого журнала?

Everytime я бегу, мне нужен этот журнал в файл будет сохранен с отметкой времени

пример ansible- 20160808142400.log

ответ

0

Используйте переменную окружения ANSIBLE_LOG_PATH.
Выполнить пьесы следующим образом:

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

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

0

Если вы работаете в системе на базе UNIX, вы можете воспользоваться поведением inodes. Определите путь журнала в вашем ansible.cfg. Я создал каталог в $ HOME/.ansible.

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

Создать раздел предварительно задачи в ваших playbooks и включают в себя следующие задачи:

- 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') }}" 

Когда анзибль начинает работать с Playbook, он создает файл журнала и начинает писать на него. Затем файл журнала переименовывается в файл ansible.log-YYYYmmddHHMMSS, и этот процесс продолжает писать, потому что, хотя имя файла журнала изменилось, связанный с ним индекс inode не имеет.

Смежные вопросы