ansiblefetch 서버 파일 대량 다운로드
Playbooks, /tmp , , 。 :/tmp/log/ip.txt 。ip ip 。
Playbooks :
---
- hosts: test
remote_user: toptea
tasks:
- name: transfer file to server
copy: src=/root/xunjian.sh dest=/tmp/xunjian.sh mode=755
- name: zhixing
become: yes
become_method: su
shell: /bin/bash -x /tmp/pswd.sh
업로드 파일은copy 모듈을 사용하고 실행 파일은shell 모듈로 문제없습니다.
, 。
fetch 。 , :
ansible all -m fetch -a "src=/tmp/log/* dest=/tmp/"
미친 오빠가 공식 문서 보라고 했어요.
http://docs.ansible.com/ansible/latest/fetch_module.html#examples
fetch:
src: /tmp/{{ inventory_hostname }}.txt
dest: /tmp/ss-{{ inventory_hostname }}
flat: yes
이것을 사용하면 모든 서버에서 파일을 다운로드할 수 있다.설명:
//fetch
fetch:
//src , inventory_hostname /etc/ansible/hosts 。 hosts 192.168.1.3
// {{inventory_hostname}}.txt 192.168.1.3.txt
src: /tmp/{{ inventory_hostname }}.txt
dest: /tmp/ss-{{ inventory_hostname }}
flat: yes
문제를 발견했습니까?네, 이 스크립트는 파일 이름에 inventory_를 포함해야 합니다.hostname ,
? :
tasks:
- name: fucking
find:
paths: /tmp/log/
patterns: "*"
recurse: no
register: file_2_fetch
- name: fuck your bitch
fetch:
src: "{{ item.path }}"
dest: /tmp/
flat: yes
with_items: "{{ file_2_fetch.files }}"
설명:
find,paths 。 patterns , *, , 。 *.txt , txt 。
fetch ,ansible Fetches a file from remote nodes ,
src find 。
실행 결과는 다음과 같습니다.
[root@master ~]# ansible-playbook main.yaml
PLAY [test] ************************************************************************************
TASK [Gathering Facts] *************************************************************************
ok: [192.168.153.22]
TASK [fucking] *********************************************************************************
ok: [192.168.153.22]
TASK [fuck your bitch] *************************************************************************
ok: [192.168.153.22] => (item={u'uid': 0, u'woth': False, u'mtime': 1516180038.2560008, u'inode': 34964981, u'isgid': False, u'size': 0, u'isuid': False, u'isreg': True, u'gid': 0, u'ischr': False, u'wusr': True, u'xoth': False, u'islnk': False, u'nlink': 1, u'issock': False, u'rgrp': True, u'path': u'/tmp/log/192.168.153.22.txt', u'xusr': False, u'atime': 1516181632.1700034, u'isdir': False, u'ctime': 1516181291.6150029, u'isblk': False, u'wgrp': False, u'xgrp': False, u'dev': 64768, u'roth': True, u'isfifo': False, u'mode': u'0644', u'rusr': True})
ok: [192.168.153.22] => (item={u'uid': 0, u'woth': False, u'mtime': 1516182493.8110049, u'inode': 1762530, u'isgid': False, u'size': 0, u'isuid': False, u'isreg': True, u'gid': 0, u'ischr': False, u'wusr': True, u'xoth': False, u'islnk': False, u'nlink': 1, u'issock': False, u'rgrp': True, u'path': u'/tmp/log/1.txt', u'xusr': False, u'atime': 1516182504.3540049, u'isdir': False, u'ctime': 1516182493.8110049, u'isblk': False, u'wgrp': False, u'xgrp': False, u'dev': 64768, u'roth': True, u'isfifo': False, u'mode': u'0644', u'rusr': True})
changed: [192.168.153.22] => (item={u'uid': 0, u'woth': False, u'mtime': 1516182519.4070048, u'inode': 1762531, u'isgid': False, u'size': 0, u'isuid': False, u'isreg': True, u'gid': 0, u'ischr': False, u'wusr': True, u'xoth': False, u'islnk': False, u'nlink': 1, u'issock': False, u'rgrp': True, u'path': u'/tmp/log/2.pdf', u'xusr': False, u'atime': 1516182519.4070048, u'isdir': False, u'ctime': 1516182519.4070048, u'isblk': False, u'wgrp': False, u'xgrp': False, u'dev': 64768, u'roth': True, u'isfifo': False, u'mode': u'0644', u'rusr': True})
PLAY RECAP *************************************************************************************
192.168.153.22 : ok=3 changed=1 unreachable=0 failed=0
[root@master ~]# ls /tmp/
192.168.153.22.txt 1.txt 2.pdf
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.