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

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

앤서블서버에 애플리케이션을 배포하고 업데이트하는 매우 효율적인 자동화 도구인 것 같습니다.

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

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

답변1

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

답변2

내 질문에 답하면서 원격 서버에서 파일을 다운로드할 수 있는 가져오기 모듈을 찾았습니다.http://docs.ansible.com/ansible/fetch_module.html

관련 정보