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();"