github.com/1aal/kubeblocks@v0.0.0-20231107070852-e1c03e598921/test/testdata/backup/actionset.yaml (about)

     1  apiVersion: dataprotection.kubeblocks.io/v1alpha1
     2  kind: ActionSet
     3  metadata:
     4    name: action-set-
     5  spec:
     6    backupType: Full
     7    env:
     8    - name: DATA_DIR
     9      value: /var/lib/mysql
    10    - name: IMAGE_TAG
    11      value: latest
    12    backup:
    13      backupData:
    14        image: infracreate-registry.cn-zhangjiakou.cr.aliyuncs.com/apecloud/percona-xtrabackup:$(IMAGE_TAG)
    15        runOnTargetPodNode: true
    16        command:
    17        - sh
    18        - -c
    19        - echo "DB_HOST=${DP_DB_HOST} DB_USER=${DP_DB_USER} DB_PASSWORD=${DP_DB_PASSWORD} DATA_DIR=${DATA_DIR} BACKUP_DIR=${DP_BACKUP_DIR} BACKUP_NAME=${DP_BACKUP_NAME}";
    20          mkdir -p /${BACKUP_DIR};
    21          xtrabackup --compress --backup  --safe-slave-backup --slave-info --stream=xbstream --host=${DP_DB_HOST} \
    22          --user=${DP_DB_USER} --password=${DP_DB_PASSWORD} --datadir=${DATA_DIR} > /${DP_BACKUP_DIR}/${DP_BACKUP_NAME}.xbstream
    23    restore:
    24      prepareData:
    25        image: infracreate-registry.cn-zhangjiakou.cr.aliyuncs.com/apecloud/percona-xtrabackup:$(IMAGE_TAG)
    26        command:
    27        - sh
    28        - -c
    29        - |
    30          echo "BACKUP_DIR=${DP_BACKUP_DIR} BACKUP_NAME=${DP_BACKUP_NAME} DATA_DIR=${DATA_DIR}" && \
    31          mkdir -p /tmp/data/ && cd /tmp/data \
    32          && xbstream -x < /${DP_BACKUP_DIR}/${DP_BACKUP_NAME}.xbstream \
    33          && xtrabackup --decompress  --target-dir=/tmp/data/ \
    34          && find . -name "*.qp"|xargs rm -f \
    35          && rm -rf ${DATA_DIR}/* \
    36          && rsync -avrP /tmp/data/ ${DATA_DIR}/ \
    37          && rm -rf /tmp/data/ \
    38          && chmod -R 0777 ${DATA_DIR}
    39      postReady:
    40      - exec:
    41          command:
    42          - sh
    43          - -c
    44          - touch ${DATA_DIR}/standby.signal
    45          container: postgres
    46      - job:
    47          image: infracreate-registry.cn-zhangjiakou.cr.aliyuncs.com/apecloud/percona-xtrabackup:$(IMAGE_TAG)
    48          runOnTargetPodNode: true
    49          command:
    50          - sh
    51          - -c
    52          - PGPASSWORD=$DP_DB_PASSWORD psql -U ${DP_DB_USER} -h ${DP_DP_HOST} -c "select pg_is_in_recovery();"