다음 시나리오에 대한 스크립트를 작성하고 싶습니다. Linux 명령이 기록된 텍스트 파일을 읽고, 하나씩 실행하고, 명령 실행에 실패하면 중단하고, 명령을 수정하고 스크립트를 다시 실행하면 선택됩니다. 중단된 위치(처음부터 실행하는 대신)
샘플 파일:sample.txt
echo "hello world"
df -h
free -m
mkdir /tmp/`hostname`_bkp
touch /tmp/`hostname`_bkp/file{1..5}
mvn -version
echo "directory and files created"
echo "Bye.!"
예를 들어, mvn -version
실행이 실패하면 ansible이 중단되어야 합니다.
Ansible을 통해 시나리오를 구현하는 방법은 무엇입니까?
답변1
다음은 여러 가지 간단한 작업을 수행하는 샘플 플레이북입니다.
---
- hosts: localhost
tasks:
- name: say hi
shell: echo "Hello, World!"
- name: do df -h
shell: df -h
register: space
- name: show the output of df -h
debug: var=space
- name: do free -m
shell: free -m
register: memory
ignore_errors: yes
- name: show memory stats
debug: var=memory
- name: create /tmp/"hostname"_bkp
file: dest=/tmp/{{ ansible_nodename }}_bkp state=directory
- name: create files
file: dest=/tmp/{{ ansible_nodename }}_bkp/file{{ item }} state=touch
with_items:
- 1
- 2
- 3
- 4
- 5
필요한 위치에 디렉터리와 파일을 생성합니다. 요구 사항에 더 적합한 소유권, 권한을 설정할 수도 있습니다.
ansible_nodename
게임 시작 시 수집된 Ansible 사실(변수)입니다.
Ansible 파일 모듈에 대한 자세한 내용을 볼 수 있습니다.여기. 다른 Ansible 모듈을 살펴보십시오. 풍부하고 배우기 쉽고 강력합니다.