DB 엔진을 설치할 때 이미 DB가 실행되고 있는 경우가 있다. 가끔 IP기반으로 설치하다보니 서비스를 중복으로 설치하는 분들이 있어서 방어 코드를 추가 하였다.
defaults/main.yml
db_port_check:
- 1433
- 3306
- 27017
.
.
.
tasks/port_check.yml
- name: netstat
shell: |
/bin/netstat -tln | grep ":{{ item }} " | sed -e 's/.*\///'
register: netstat_result
with_items:
- "{{ db_port_check }}"
- name: result
set_fact:
process_result: "{{ netstat_result.results | map(attribute='stdout') | join('') }}"
- name: failure
fail:
msg: "Database is running on {{ ansible_hostname }}."
when: process_result != ''
포트만 변경하면 Application 이 실행되고 있는 상태에서 추가 작업을 막기 위해 사용이 가능하다.
작업 중 이미 실행되고 있는 것이 있는지 포트 기반으로 확인한 후 작업이 진행되지 않게 활용할 수 있다.
'Devops > Ansible' 카테고리의 다른 글
MSSQL CU Update, Ansible 로 업데이트 하기 (0) | 2023.03.19 |
---|---|
MySQL MHA 구성을 위한 공개키 공유 Ansible (0) | 2023.03.15 |
Ansible DB 설치 설정 구성 배포 자동화 발표 (0) | 2023.03.12 |
병렬 백업과 복원을 위한 async 작업 (0) | 2022.08.30 |
MSSQL 별칭 관리 (0) | 2022.08.30 |