실습 Ansible Module 활용 - lineinfile
페이지 정보
본문
lineinfile 모듈은 특정 행이 파일에 있는지 확인하거나 역참조 정규식을 사용하여 기존 행을 대체합니다.
파일의 한 줄만 변경하려는 경우에 주로 유용하며, 유사한 모듈로는 replace, blockinfile 등이 있습니다.
>SELinux 설정 변경
>sudoers 파일에서 wheel 그룹 제거
> 특정 문자열 존재할 경우, 해당 행 대체
> 해당 파일 존재하지 않을 경우 생성
backup : 타임스탬프 정보를 포함하는 백업 파일 생성 여부
create : 파일이 없는 경우 생성 여부
firstmatch : insertafter, insertbefore 옵션과 함께 사용되며 지정된 정규식과 일치하는 첫 번째 줄에서 동작함
insertafter : 해당 옵션이 지정될 경우, 지정된 정규식의 마지막 일치 항목 뒤에 행이 삽입됨 ( 첫 번째로 일치하는 줄에서 동작이 필요할 경우 firstmatch 옵션 사용 )
insertbefore : 해당 옵션이 지정될 경우, 지정된 정규식의 마지막 일치 항목 앞에 행이 삽입됨 ( 첫 번째로 일치하는 줄에서 동작이 필요할 경우 firstmatch 옵션 사용 )
line : 파일에 삽입하거나 대체할 행
regexp : 파일의 모든 줄에서 찾을 정규식. 정규식이 일치하지 않는 경우 insertafter, insertbefore 설정에 따라 파일에 추가됨.
( state=present 의 경우, 발견된 마지막 줄만 해당 정규식으로 교체
state=absent 의 경우, 해당 줄 제거 )
state : 라인의 존재 여부 ( present - 존재, absent - 삭제 )
파일의 한 줄만 변경하려는 경우에 주로 유용하며, 유사한 모듈로는 replace, blockinfile 등이 있습니다.
1. lineinfile 모듈 활용 예시
1 2 3 4 5 | - name: Ensure SELinux is set to enforcing mode ansible.builtin.lineinfile: path: /etc/selinux/config regexp: '^SELINUX=' line: SELINUX=enforcing | cs |
1 2 3 4 5 | - name: Make sure group wheel is not in the sudoers configuration ansible.builtin.lineinfile: path: /etc/sudoers state: absent regexp: '^%wheel' | cs |
1 2 3 4 5 6 7 8 9 | - name: Replace a localhost entry searching for a literal string to avoid escaping lineinfile: path: /etc/hosts search_string: '127.0.0.1' line: 127.0.0.1 localhost owner: root group: root mode: '0644' | cs |
1 2 3 4 5 | - name: Add a line to a file if the file does not exist, without passing regexp ansible.builtin.lineinfile: path: /tmp/testfile line: 192.168.1.99 foo.lab.net foo create: yes | cs |
2. lineinfile 모듈 관련 옵션
backup : 타임스탬프 정보를 포함하는 백업 파일 생성 여부
create : 파일이 없는 경우 생성 여부
firstmatch : insertafter, insertbefore 옵션과 함께 사용되며 지정된 정규식과 일치하는 첫 번째 줄에서 동작함
insertafter : 해당 옵션이 지정될 경우, 지정된 정규식의 마지막 일치 항목 뒤에 행이 삽입됨 ( 첫 번째로 일치하는 줄에서 동작이 필요할 경우 firstmatch 옵션 사용 )
insertbefore : 해당 옵션이 지정될 경우, 지정된 정규식의 마지막 일치 항목 앞에 행이 삽입됨 ( 첫 번째로 일치하는 줄에서 동작이 필요할 경우 firstmatch 옵션 사용 )
line : 파일에 삽입하거나 대체할 행
regexp : 파일의 모든 줄에서 찾을 정규식. 정규식이 일치하지 않는 경우 insertafter, insertbefore 설정에 따라 파일에 추가됨.
( state=present 의 경우, 발견된 마지막 줄만 해당 정규식으로 교체
state=absent 의 경우, 해당 줄 제거 )
state : 라인의 존재 여부 ( present - 존재, absent - 삭제 )
- 이전글Ansible Module 활용 - Shell 21.10.07
- 다음글Playbook 작성 실습 - Ansible로 MariaDB 설치 21.08.02
댓글목록
등록된 댓글이 없습니다.