2017-11-10 5 views
-1

$ ActionFileEnableSync가 설정된 /etc/rsyslog.conf 파일의 # $ ActionFileEnableSync 옵션을 으로 대체하려고했습니다. 나는 모듈을대체 할 수있는 라인 파일 모듈

- replace: 
     path: /etc/rsyslog.conf 
     regexp: '^#\s*^$\s*ActionFileEnableSync on.*$' 
     line: '$ActionFileEnableSync on' 

을 대체 사용하고 또한 내가 lineinfile 모듈

- lineinfile: 
     dest: /etc/rsyslog.conf 
     regexp: (^#\\$ActionFileEnableSync on) 
     line: "$ActionFileEnableSync on" 

를 사용하는 것을 시도했다 그러나 아무도 일 것 같다, 하나는 교체하거나 새로운 라인

+0

전체 파일을 템플릿으로 바꿉니다. 그것은 당신이 관리 제어 오븐 전체 파일을하지 않을 것이라고 말도 안돼. – tedder42

+0

그래서'replace' 작업을 실행 한 결과는 무엇입니까? – techraf

+0

전혀 교체되지 않습니다 –

답변

0
추가에 유지하지 않습니다

lineinfile을 사용하여 파일의 특정 행을 설정하십시오.

정규 표현식이 잘못되었습니다. 정규식에서 '켜기'는 왜입니까? 기존 라인에 '꺼짐'이라고 표시되면 값을 '켜기'로 설정하지 않습니까?

또한 regexp는 이미 'on'되어 있거나 주석 처리 된 행과 일치해야합니다. 그렇지 않으면, Ansible은 매 실행마다 라인을 추가합니다. 주석 표시 및 공백의 조합 다음 ActionFileEnableSync $를 교체해야

regexp: ^[#\s]*\$ActionFileEnableSync 

이 :

같은 것을보십시오.

+0

감사합니다. 귀하의 솔루션은 실제로 트릭을 실행했습니다. –