add crates pg backup cron
This commit is contained in:
parent
3214d443c9
commit
41afbc0fa1
81
crates/crates.cron.yaml
Executable file
81
crates/crates.cron.yaml
Executable file
@ -0,0 +1,81 @@
|
|||||||
|
---
|
||||||
|
|
||||||
|
apiVersion: v1
|
||||||
|
kind: PersistentVolume
|
||||||
|
metadata:
|
||||||
|
name: crates-postgres-backup-pv
|
||||||
|
spec:
|
||||||
|
storageClassName: ""
|
||||||
|
capacity:
|
||||||
|
storage: 1Gi
|
||||||
|
accessModes:
|
||||||
|
- ReadWriteOnce
|
||||||
|
persistentVolumeReclaimPolicy: Retain
|
||||||
|
claimRef:
|
||||||
|
namespace: default
|
||||||
|
name: crates-postgres-backup-pvc
|
||||||
|
hostPath:
|
||||||
|
# Into homedir so we can scp it ez
|
||||||
|
path: "/home/ntr/archives/crates-postgres"
|
||||||
|
type: DirectoryOrCreate
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
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"
|
||||||
|
-
|
||||||
|
|
|
||||||
|
TZ="Australia/Melbourne"
|
||||||
|
TIMESTAMP=$(date '+%Y-%m-%d-%H-%M-%S')
|
||||||
|
DEST=/mnt/dest/crates-$TIMESTAMP-sql.gz
|
||||||
|
|
||||||
|
echo "Backing up to $DEST"
|
||||||
|
pg_dump --dbname=$POSTGRES_URL | gzip > $DEST
|
||||||
|
echo "Backup Complete"
|
||||||
|
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
|
||||||
|
|
||||||
|
---
|
||||||
Loading…
x
Reference in New Issue
Block a user