서버 대수가 적으면 크게 문제가 되진 않지만 대수가 많으면 명령어 각각 치는 것도 어려운 뿐더러, 휴먼 에러(오타)가 발생하는 경우가 많다.
그래서 ansible playbook을 통해 한번에 처리 한다.
---
- hosts: localhost
remote_user: root
vars_prompt: # 패키지 설치 할것인지 아닌지 확인
- name: select
prompt: "Do you want to install(present) packages? default="
private: no
default: present
- name: group_name # 그룹을 추가할 것인지 아닌지 확인
prompt: "Do you want to create group? default group_name="
private: no
default: mwadm
- name: user_name # 계정을 생성할지 말지 확인
prompt: "Do you want to create user? default user_name="
private: no
default: mwadm
- name: user_home # 계정 생성이 후 계정 홈 경로 설정 할지 확인
prompt: "Do you want to {{ user_name }} home diretory? default user_home= "
private: no
default: /home/{{ user_name }}
tasks:
- name: install packages = apr-devel, apr-util-devel, openssl-devel, pcre-devel
yum:
name:
- apr-devel
- apr-util-devel
- openssl-devel
- pcre-devel
state: "{{ select }}"
- name: Add the group
group:
name: "{{ group_name }}"
state: "{{ select }}"
- name: Add the user
user:
name: "{{ user_name}}"
password: "{{ user_name}}"
group: "{{ group_name }}"
state: "{{ select }}"
shell: /bin/bash
createhome: yes
home: "{{ user_home }}"
remove: yes
프롬프트에 present를 입력하면 전체가 다 실행되고, absent를 입력하면 rollback 된다. 하지만 완벽하지 않기 때문에 보완이 필요하다.
댓글 없음:
댓글 쓰기