Table of Contents

# Copy Persistent Volume to Persistent Volume

Use case:

  • When need to manually restore data from pv to pv.
  • When the Persistent Volume declares size too big, need to restore to a smaller one.
apiVersion: batch/v1
kind: Job
metadata:
  name: pvc-copy-job
spec:
  template:
    spec:
      restartPolicy: Never
      containers:
      - name: copy
        image: busybox
        # checking space usage
        # command: ["sh", "-c", "du -sh  /src/. && du -sh /dest/"]
        command: ["sh", "-c", "cp -a /src/. /dest/"]
        volumeMounts:
        - name: src-pvc
          mountPath: /src
        - name: dest-pvc
          mountPath: /dest
      volumes:
      - name: src-pvc
        persistentVolumeClaim:
          claimName: source-pvc   # replace with your backup PVC
      - name: dest-pvc
        persistentVolumeClaim:
          claimName: target-pvc   # replace with your recovery PVC