Ansible 공통 기본 모듈

ansible - 문서 및 핑 (ansible-문서 문서, 그것은 중요하다)

사령선

쉘 모듈

스크립트 모듈

복사 모듈

lineinfile | replace 模块

냠 모듈

서비스 모듈

설정 모듈

핑 모듈 ansible-문서

  • ansible-문서
    • 수동 모듈은 사람의 동등한 쉘, 그것은 중요하다
    • ansible-문서 -l리스트 모든 모듈
    • 보기 도움을 ansible - 문서의 모듈 이름
  • 핑 모듈
    • 테스트 네트워크 연결, 핑 모듈에는 매개 변수가 없습니다
ansible all -m ping 	//ping测试连通性

사령선

  • 기본 모듈, 원격 명령 실행
ansible all -m command -a 'uptime'	//查看所有机器负载
ansible all -m command -a 'date +%F_%T'	//查看日期和时间
  • 주의 사항 :
    • 시스템 변수는 명령 모듈을 해결할 수없는
    • 모듈은 직접 ssh를 프로세스를 실행 쉘을 시작되지 않는, 모든 쉘 명령 실행을 사용하여 실패

쉘 모듈

  • 사용량 모듈 쉘 명령과 일치, 모듈 쉘 실행 명령 / 빈 / 떠들썩한 파티 사이의 차이는 임의의 명령이 실행될 수있다
  • 당신은 등 정력 탑, 같은 대화식 명령을 실행할 수 없습니다
ansible all -m shell -a 'uptime'	//查看负载
ansible all -m shell -a "echo ${HOSTNAME}"	//所有输出ansible
ansible all -m shell -a 'echo ${HOSTNAME}' 	//各自输出主机名
  • 참고 : ansible 실행하면 변수 이스케이프 문자를 사용하려는 경우 기본 해상도에서 처음으로 기계의 구현에서 두 번째 해석은, 두 번째 해석이 필요한, 두 번째 해상도 \

스크립트 모듈

  • 로컬 스크립트로 작성된 다음 스크립트를 사용하여 배치 모듈을 실행
vim user.sh
#!/bin/bash
	id nb
	if [ $? != 0 ];then
	        useradd wk
	        echo 456 | passwd --stdin wk
	fi
ansible all -m script -a 'user.sh'

냠 모듈

  • 패키지를 관리 할 수 ​​냠 패키지 관리자를 사용하여
  • 이름 : 패키지의 이름을 조작 할
  • 주 : 动作 (설치, 제거)
ansible db -m yum -a 'name="mariadb-server" state=installed'	//给所有db主机安装mariadb
ansible cache -m yum -a 'name="lrzsz" state=removed'	//cache主机删除lrzsz软件包

서비스 모듈

  • 이름 : 필수, 서비스 이름
  • 사용 가능 : 부팅 예에 여부 | 더 (systemctl는 아파치 테스트 서비스 상태 지원되지 않음)
  • 수면 : 다시 시작 실행, 정지 및 시작 사이에 몇 초 동안 자고 할 것
  • 상태 : 현재 서비스 실행, 중지, 다시 시작, 다시로드 및 기타 작업을 시작합니다 (시작, 중지, 다시 시작, 다시로드)
ansible cache -m service -a 'name="sshd" enabled="yes" state="started" '

복사 모듈

  • 원격 호스트로 파일을 복사
  • SRC는 : 원격 호스트에 로컬 파일을 복사, 절대 및 상대 경로를 사용할 수 있습니다로 끝나지 경우 디렉터리 서비스의 "/"만 내용으로 경로 끝이, "/"복사하는 경우, 경로는 디렉토리를 복사 재귀 것입니다. rsync는 유사 포함하는 디렉토리의 전체 내용을 포함
  • 이명 령은 :. 소스 파일이 디렉토리 인 경우, 그 경로가 디렉토리 여야, 원격 호스트에 절대 경로를 필요
  • 백업 : 백업 파일의 시간에 대한 정보를 포함 덮어 쓰기 전에 파일을 백업 두 가지 옵션이 있습니다 :. 예 | 아니오
  • 힘 : 대상 파일이있는 호스트가 아닌 내용이, no로 설정 예, 의무 보험에 세트, 파일의 대상 위치의 대상 호스트가하는 경우에만 복사 존재하지 경우에만 기본이 '예'합니다.
ansible all -m copy -a 'src=/etc/resolv.conf dest=/etc/resolv.conf'	//复制文件
ansible all -m copy -a 'src=/etc/yum.repos.d/ dest=/etc/yum.repos.d/'	//复制目录

lineinfile 模块

  • 나오지도 유사한 행 교체 모듈의 한 종류
  • 대상 파일 경로
  • 정규 표현식을 정규 표현식, 당신은 라인을 수정하려면
  • 수정 된 광고의 최종 결과
ansible db -m lineinfile -a '
> path="/etc/my.cnf"
> regexp="^binlog-format"
> line="binlog-format=row" '

모듈을 교체

  • 나오지도 유사한 행 교체 모듈의 한 종류
  • 대상 파일 경로
  • 정규 표현식 정규 표현식
  • 결과는 ~ 교체
ansible db -m lineinfile -a '
> path="/etc/my.cnf"
> regexp="=row"
> line="=mixed" '

설정 모듈

  • 주로 호스트 정보를 얻기 위해 사용되는, 종종 모듈의 사용과 관련된 다른 파라미터 gather_facts에서 플레이 북은 기본 설치 모듈은 자주 사용되는 필터 파라미터이고
ansible cache -m setup -a 'filter=ansible_distribution'	//filter过滤所需信息
게시 18 개 원래 기사 · 원의 찬양 (23) · 전망 3046

추천

출처blog.csdn.net/qq_42130112/article/details/103895298