github.com/1aal/kubeblocks@v0.0.0-20231107070852-e1c03e598921/deploy/postgresql/dataprotection/pg-basebackup-restore.sh (about)

     1  set -e
     2  set -o pipefail
     3  export PATH="$PATH:$DP_DATASAFED_BIN_PATH"
     4  export DATASAFED_BACKEND_BASE_PATH="$DP_BACKUP_BASE_PATH"
     5  function remote_file_exists() {
     6      local out=$(datasafed list $1)
     7      if [ "${out}" == "$1" ]; then
     8          echo "true"
     9          return
    10      fi
    11      echo "false"
    12  }
    13  
    14  mkdir -p ${DATA_DIR};
    15  
    16  if [ $(remote_file_exists "${DP_BACKUP_NAME}.tar.gz") == "true" ]; then
    17    datasafed pull "${DP_BACKUP_NAME}.tar.gz" - | gunzip | tar -xvf - -C "${DATA_DIR}/"
    18    echo "done!";
    19    exit 0
    20  fi
    21  
    22  
    23  # NOTE: restore from an old version backup, will be removed in 0.8
    24  if [ $(remote_file_exists "base.tar.gz") == "true" ]; then
    25    datasafed pull "base.tar.gz" - | tar -xzvf - -C "${DATA_DIR}/"
    26  elif [ $(remote_file_exists "base.tar") == "true" ]; then
    27    datasafed pull "base.tar" - | tar -xvf - -C "${DATA_DIR}/"
    28  fi
    29  if [ $(remote_file_exists "pg_wal.tar.gz") == "true" ]; then
    30    datasafed pull "pg_wal.tar.gz" - | tar -xzvf - -C "${DATA_DIR}/pg_wal/"
    31  elif [ $(remote_file_exists "pg_wal.tar") == "true" ]; then
    32    datasafed pull "pg_wal.tar" - | tar -xvf - -C "${DATA_DIR}/pg_wal/"
    33  fi
    34  echo "done!";