인프라/앤서블(Ansible)47 [ANSIBLE] 앤서블 그룹내 특정 호스트 제외하고 실행하기 앤서블 그룹내에 특정 호스트를 제외하고 실행하고 싶다. 예를들어 test_group이 아래와 같이 구성되어 있고 이중 AA를 제외 하고싶다.AABBCC --limit 'test_group01:!AA' 옵션에서 으로 AA 호스트를 제외 처리 할 수 있다.ansible-playbook /data/ansible/win_ping.yml -i /data/ansible/hosts -f 20 -u test -k --limit 'test_group01:!AA' 앤서블 그룹내 호스트 2개이상 제외 처리하고 싶을 때앤서블 그룹내 호스트를 2개이상 제외 처리하고 싶을때는 &연산자를 사용하며 !호스트명 을 써줘야한다.ansible-playbook /data/ansible/win_ping.yml -i /data/ansible/.. 2023. 10. 5. [ansible] 앤서블 윈도우 서버 파일 배포 실행하기 다수의 윈도우 서버에 배치파일이나 파워쉘스크립트를 배포하고 배포한 파일을 실행시킬 수 있다. 취약점점검파일을 배포 및 실행할 때 유용하게 사용할 수 있다. 윈도우 파일 배포는 win_copy 모듈을 사용했고 배포된 파일 실행은 win_shell 모듈을 사용하였다. 기본적으로 win_shell 모듈은 배치스크립트 실행이며, powershell 명령어나 파일을 실행하려면 앞에 powershell.exe를 붙여줘야한다. exec_status 변수를 추가하여 단순히 파일 배포만 하거나 파일 배포 후 스크립트파일 실행을 할 수 있도록 when으로 조건문을 추가하였다. --- - name: win_copy module demo hosts: all become: false gather_facts: false vars.. 2023. 9. 21. [ansible] ansible 윈도우 방화벽 생성 ansible 윈도우 방화벽 생성 앤서블을 통해 윈도우 방화벽 정책을 생성 시킬수 있다. 방화벽 정책 이름은 service [port]로 설정했다. --- - name: windows user add hosts: all vars: ansible_connection: winrm ansible_winrm_server_cert_validation: ignore ansible_winrm_scheme: http ansible_become: false ansible_winrm_transport: basic ansible_port: 5985 tasks: - name: extract result win_shell: 'netsh advfirewall firewall add rule name="service {{ port.. 2023. 8. 22. [ansible] ansible 윈도우 파일 가져오기 mssql 쿼리수행 개요 - 윈도우서버에 sql파일을 실행시켜 조회한 값을 파일로 저장하여 그 결과값을 다시 ansible 서버로 가져올 수 있다. - 구글에 검색하면 win_copy 모듈로 가져올수 있다고하는데 아무리 테스트해봐도 헛수고다 - fetch모듈로 가져올수 있다. - fetch 모듈은 윈도우, 리눅스 모두 쓸 수 있다. - windows의 파일을 가져오려고할땐 먼저 가저올 파일을 검색하고 가져와야 한다 - 검색하지 않고 지정하여 가져올경우, ansible 서버에 가져올 위치/ip(폴더 자동생성)/가져온파일명 으로 남게된다. 세부내용 --- - hosts: all vars: ansible_port: 5985 ansible_connection: winrm ansible_winrm_server_cert_validat.. 2023. 3. 10. [ansible] ansible msg if else 개요 - 앤서블 msg 출력시 if문을 통해 결과를 달리 할 수 있다. 세부내용 {% if 비교값1 == 비교값2 %} 참일경우 출력 {% else %} 거짓일 경우 출력 {% endif %} 변수의 타입이 숫자이고 서로 같은데 거짓이 출력되는경우가 있는데 이경우 |int를 넣어 형변환을 시켜줘야 한다 - name: Print process results debug: msg: "{% if item.stdout_lines[0]|int == item.item.process_count|int %} good {% else %} bad {% endif %} " 앤서블 if else ansible if else 2023. 2. 28. 이전 1 2 3 4 5 ··· 10 다음 반응형