Ansible을 사용하여 서버를 백업 하시겠습니까?


10

Ansible 은 서버에서 응용 프로그램을 배포하고 업데이트하는 매우 효율적인 자동화 도구 인 것 같습니다.

  • (Linux) 서버 백업에도 사용할 수 있습니까? 그렇게하는 것이 좋은 습관입니까?

  • 그렇다면, 그 방법에 대한 모듈 / 예가 있습니까? 예를 들어, 데이터베이스 내보내기를 생성하고 다른 머신에 복사하려고한다고 가정 해 봅시다. Ansible로이 작업을 자동화하는 방법은 무엇입니까?

답변:


9

Ansible을 사용하여 서버를 백업 할 수 있습니다. 저는 Ansible의 새로운 사용자이므로 좋은 습관인지 확실하지 않습니다.

데이터베이스를 백업하려면 mysql_db 모듈을 사용할 수 있습니다 .

tasks:
  - name: backup db server
    mysql_db: name={{item}} state=dump target=/{{item}}-{{ansible_date_time.iso8601}}.sql
    with_items: db_name

그런 다음 가져 오기 또는 동기화 모듈 을 사용하여 해당 파일을 로컬 시스템으로 전송할 수 있습니다 . fetch모듈을 사용하면 와일드 카드 문자 및 폴더 다운로드를 지원하지 않으므로 여러 파일을 다운로드 할 수 없습니다. 하나의 tar 파일을 작성하면이 문제를 극복 할 수 있습니다.

scp원격 인스턴스에서 백업 파일을 다운로드 하는 데 사용할 수도 있습니다 .

- name: Downloading backup files from remote machine
  command: scp -i {{ansible_ssh_private_key_file}} {{remote_user}}@{{host}}:/backup/* {{backup_folder}}
  delegate_to: 127.0.0.1

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.