68 lines
1.8 KiB
YAML
68 lines
1.8 KiB
YAML
# ---
|
|
|
|
# kind: PersistentVolumeClaim
|
|
# apiVersion: v1
|
|
# metadata:
|
|
# name: crates-postgres-backup-pvc
|
|
# spec:
|
|
# volumeName: crates-postgres-backup-pv
|
|
# accessModes:
|
|
# - ReadWriteOnce
|
|
# resources:
|
|
# requests:
|
|
# storage: 1Gi
|
|
|
|
# ---
|
|
|
|
# apiVersion: batch/v1
|
|
# kind: CronJob
|
|
# metadata:
|
|
# name: crates-db-backup
|
|
# spec:
|
|
# schedule: "20 4 * * *"
|
|
# jobTemplate:
|
|
# spec:
|
|
# template:
|
|
# metadata:
|
|
# labels:
|
|
# app: crates-postgres-backup
|
|
# spec:
|
|
# restartPolicy: Never
|
|
# containers:
|
|
# - name: crates-postgres-backup
|
|
# image: postgres:16
|
|
# command:
|
|
# - "/bin/sh"
|
|
# - "-c"
|
|
# -
|
|
# |
|
|
# cd /mnt/dest/
|
|
# TZ="Australia/Melbourne"
|
|
# TIMESTAMP=$(date '+%Y-%m-%d-%H-%M-%S')
|
|
# DEST=crates-$TIMESTAMP.sql.gz
|
|
|
|
# echo "Backing up to $DEST"
|
|
# pg_dump --dbname=$POSTGRES_URL | gzip > $DEST
|
|
# echo "Backup Complete"
|
|
|
|
# echo "Removing old copies..."
|
|
# find . -type f -name "*.sql.gz" -mtime 7 | xargs rm -v
|
|
|
|
# echo "Setting latest link..."
|
|
# ln -nfs $DEST latest.sql.gz
|
|
# env:
|
|
# - name: POSTGRES_URL
|
|
# valueFrom:
|
|
# secretKeyRef:
|
|
# name: crates
|
|
# key: POSTGRES_URL
|
|
# volumeMounts:
|
|
# - name: crates-postgres-backup-storage
|
|
# mountPath: /mnt/dest
|
|
# volumes:
|
|
# - name: crates-postgres-backup-storage
|
|
# persistentVolumeClaim:
|
|
# claimName: crates-postgres-backup-pvc
|
|
|
|
# ---
|