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

[ansible] ansible 윈도우 파일 가져오기 mssql 쿼리수행

by IT맥구리나스 2023. 3. 10.

개요

- 윈도우서버에 sql파일을 실행시켜 조회한 값을 파일로 저장하여 그 결과값을 다시 ansible 서버로 가져올 수 있다.

- 구글에 검색하면 win_copy 모듈로 가져올수 있다고하는데 아무리 테스트해봐도 헛수고다

- fetch모듈로 가져올수 있다.

- fetch 모듈은 윈도우, 리눅스 모두 쓸 수 있다.

- windows의 파일을 가져오려고할땐 먼저 가저올 파일을 검색하고 가져와야 한다

- 검색하지 않고 지정하여 가져올경우, ansible 서버에 가져올 위치/ip(폴더 자동생성)/가져온파일명 으로 남게된다.

 

세부내용

---
- hosts: all
  vars:
    ansible_port: 5985
    ansible_connection: winrm
    ansible_winrm_server_cert_validation: ignore
    ansible_winrm_scheme: http
    ansible_winrm_transport: basic
    become_method: runas
   
  tasks:
    - name: copy scriptfile
      win_copy:
        src: "/data/ansible/file/MSSQL-sqlquery.zip"
        dest: "C:\\MSSQL-sqlquery.zip"
    - win_unzip:
        src: 'C:\\MSSQL-sqlquery.zip'
        dest: 'C:\\MSSQL-sqlquery'

    - name: Execute MSSQL query file and save results
      win_shell: |
        sqlcmd -S localhost -U 계정 -P 패스워드 -d master -i C:\MSSQL-sqlquery\mssql.sql -o C:\MSSQL-sqlquery\\results.txt

    - name: Execute bat file
      win_shell: |
        C:\MSSQL-sqlquery\MSSQLStep2.bat
      args:
        excutable: cmd
      register: bat_result


    - name: print result
      debug:
        msg: "{{ bat_result.stdout_lines }}"


    - name: 파일검색
      win_find:
        paths: 'C:\MSSQL-sqlquery\'
        patterns: '*.zip'
        recurse: yes
      register: found_files

    - name: 파일가져오기
      fetch:
        src: '{{ item.path }}'
        dest: "/data/ansible/file/win_mssqlsecurity_result/"
        flat: yes
        fail_on_missing: yes
      with_items: '{{ found_files.files }}'

 

ansible windows 파일 가져오기

ansible sql 실행

ansible sql 실행결과 파일로 저장

ansible 파일 가져오기

 ansible 윈도우

반응형

댓글