본문 바로가기
인프라/앤서블(Ansible)

[Ansible] ansible linux tgz 압축해제

by IT맥구리나스 2022. 7. 11.

tgz파일 기준임, unzip은 불가

압축해제 할때 dest: 경로 지정시 해당 폴더는 이미 존재해야 함

폴더 압축을 했으면 해당 폴더이름은 자동 생성된다

 

나같은 경우 install_mariadb 폴더를 tar -cvzf install_mariadb.tgz install_mariadb/* 로 압축했고

ansible 수행시 /data/data폴더에 install_mariadb폴더가 압축해제가 된다. /data/data/폴더는 이미 존재해야 한다.

---
- hosts: all
  become: yes
  tasks:
    - name: deploy file
      copy:
        src: /data/ansible/file/install_mariadb.tgz
        dest: /data/data/install_mariadb.tgz

    - name: unzip
      unarchive:
        src: /data/data/install_mariadb.tgz
        dest: /data/data/
        remote_src: yes

become 옵션을 줘야함 하지 않으면 권한 부족으로 압축해제 안됨

FAILED! => {"changed": false, "checksum": "7cd35036c82fa1203e7aca79cb26933713a8623e", "msg": "Destination /data/data not writable"}

 

remote_src:yes옵션을 줘야한다. 안하면 아래 에러 처럼 나온다.

FAILED! => {"changed": false, "msg": "Could not find or access '/data/data/install_mariadb.zip' on the Ansible Controller.\nIf you are using a module and expect the file to exist on the remote, see the remote_src option"}

 

 

 

반응형

댓글