[svc]ansible 백업 구현 메일 원격 압축 해제
1. 원격 압축 해제.원격 압축 패키지를 원격 디렉터리로 압축 풀기
- hosts: nodexx
  remote_user: root
  vars:
  - dfpath: "/backup/scm-data/"
  tasks:
    - name "this vm restore scm data to test data on app"
      unarchive:
        src: /tmp/etc.tar.gz  #   url,     
        dest: /root
        remote_src: "{{ dfpath }}"
  2, 원격 압축 및 복구
4
- hosts: nodexx
    remote_user: root
    vars:
      - sfpath: "/backup/scm-data/*_$(date +%F)_scmdata.tar.gz"
      - dfpath: "/backup/scm-data/"
    - name: Package | make /root/.scm to tar.gz package on node14
      raw: cd /root && tar zcf /data/backup/scm-data/`ifconfig|sed -n '2p'|awk -F':' '{print $2}'|awk '{print $1}'`_$(date +%F)_scmdata.tar.gz .scm
    - name: Download | copy nodexx's tar.gz to ansible vm([this vm] /data/scm-data)
      synchronize:
        src: "{{ sfpath }}"
        dest: "{{ dfpath }}"
        mode: pull# 이 실행 명령과 cd/& echo 1>1.txt, 셸이 작동하지 않습니다.raw 모듈을 사용해야 합니다#변수 정의
3, 이메일 모듈로 이메일 보내기
- hosts: nodexx
    remote_user: root
    - name: sendMail to op
      mail:
        host: smtp.sina.com
        port: 25
        username: [email protected]
        password: xxx
        from: [email protected] (lannymxl)
        to: Jack 
        # cc: John Doe , Suzie Something 
        # cc: Wang Wu , Li Si 
        attach: /etc/fstab /etc/hosts
        subject: Backup-scm successfully
        body: 'System {{ ansible_hostname }}-192.168.x.x from 192.168.x.x scm-backup has been successfully provisioned.'
       4, scm 호스트에서 매일 백업, 백업 완료 후 메일 보내기--ansible 구현
- hosts: nodexx-scm
  remote_user: root
  vars:
  - sfpath: "/backup/scm-data/*_$(date +%F)_scmdata.tar.gz"
  - dfpath: "/backup/scm-data/"
  tasks:#        ,       scm-data.tar.gz  2,           
    - name: Clean | keeping [scm-server-node14]'s /backup/scm-data dir only have one tar pkg
      shell: find /backup/scm-data/ -name "*.tar.gz"  -type f -mtime|xargs rm -f
    - name: Package | make /root/.scm to tar.gz package on node14
      raw: cd /root && tar zcf /data/backup/scm-data/`ifconfig|sed -n '2p'|awk -F':' '{print $2}'|awk '{print $1}'`_$(date +%F)_scmdata.tar.gz .scm
    - name: Download | copy node14's tar.gz to ansible vm([this vm] /data/scm-data)
      synchronize:
        src: "{{ sfpath }}"
        dest: "{{ dfpath }}"
        mode: pull
    
    #     
    # - name "this vm restore scm data to test data on app"
    #   unarchive:
    #     src: "{{ dfpath }}"
    #     dest: /root
    #     remote_src: True
- hosts: localhost
  remote_user: root
  tasks: 
  #    scm   ,   7     .    ,   .
    - name: Keeps scm-data.tar.gz of 7 days in local
      shell: find /backup/scm-data/ -name "*.tar.gz"  -type f -mtime|xargs rm -f
    - name: sendMail to op
      mail:
        host: smtp.sina.com
        port: 25
        username: [email protected]
        password: xxx
        from: [email protected] (lannymxl)
        to: Jack 
        # cc: John Doe , Suzie Something 
        # cc: Wang Wu , Li Si 
        attach: /etc/fstab /etc/hosts
        subject: Backup-scm successfully
        body: 'System {{ ansible_hostname }}-192.168.x.x from 192.168.x.x scm-backup has been successfully provisioned.'     
                이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.