Commit 1dac4687 authored by JooHan Hong's avatar JooHan Hong

file_copy init

parent 1f90954e
Pipeline #5134 passed with stages
in 4 seconds
[![logo](https://www.hongsnet.net/images/logo.gif)](https://www.hongsnet.net)
# Ansible의 copy 모듈을 이용한 파일 가져오기
> 원격 시스템에 디렉토리 및 파일을 복사한다.
## 활용 용도
- FTP를 사용하지않고, 원격서버에 디렉토리 및 파일을 복사할 수 있다.
- 보안취약점 스크립트를 원격서버에 업로드하는 용도로 사용
## Inventory 설정
```bash
# cat hosts
[ALL_HOSTS]
172.16.0.100 managed_ip=172.16.0.100 des="2020-12-03"
[ALL_HOSTS_OK]
```
대상 호스트는 172.16.0.100이며, 추가는 2020-12-03에 수행한다. 참고적으로 **ALL_HOSTS_OK** 호스트 그룹은 작업이 완료된 호스트의 history를 위한 그룹이다.
## Host Variables 설정
```bash
# cat host_vars/172.16.0.100
ansible_ssh_host: 172.16.0.100
ansible_ssh_port: SSH_포트번호
ansible_ssh_user: 사용자 아이디
ansible_ssh_pass: "사용자 패스워드"
ansible_become: yes
ansible_become_method: su
ansible_become_user: root
ansible_become_pass: "!root_패스워드"
ansible_python_interpreter: python2.7
```
## Playbook 설정
```python
---
- name: OS Secure Running
hosts: ALL_HOSTS
tasks:
- name: Directory Create
file:
path: "{{ item }}"
state: directory
owner: 'root'
group: 'root'
mode: 0700
with_items:
- /root/test
- name: Secure Script File Copy
copy:
src: "{{ item }}"
dest: /root/test
owner: 'root'
group: 'root'
mode: 0700
#attr: i
with_items:
- secure.sh
- test.sh
```
`File copy`에 대한 Playbook 분석
* [ ] 다수의 파일을 사용하려면, copy 모듈이 아닌 synchronize(rsync) 모듈을 사용하도록 권장하고 있다.
- https://docs.ansible.com/ansible/2.5/modules/copy_module.html
* [ ] with_items 모듈을 사용하여, 하나 이상의 파일들을 원격서버에 복사한다.
## playbook 실행
```bash
# ansible-playbook -i hosts file_copy.yml
```
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment