@underpostnet/underpost
Version:
43 lines (41 loc) • 1.34 kB
YAML
apiVersion: batch/v1
kind: CronJob
metadata:
name: mongodb-backup
spec:
schedule: '*/5 * * * *' # Runs backup every five minutes
jobTemplate:
spec:
template:
spec:
containers:
- name: mongodump
image: docker.io/library/mongo:latest
command:
- sh
- -c
- |
# Perform backup
mongodump --host=mongodb-service --port=27017 --out=/backup/$(date +\%Y-\%m-\%dT\%H-\%M-\%S)
# Remove backups older than 7 days
find /backup -type d -mtime +7 -exec rm -rf {} +
volumeMounts:
- name: backup-storage
mountPath: /backup
restartPolicy: Never
volumes:
- name: backup-storage
persistentVolumeClaim:
claimName: backup-pvc
# mongodump -u $MONGO_INITDB_ROOT_USERNAME -p $MONGO_INITDB_ROOT_PASSWORD --host=mongodb-service --port=27017 --out=/backup/$(date +\%Y-\%m-\%dT\%H-\%M-\%S)
# env:
# - name: MONGO_INITDB_ROOT_USERNAME
# valueFrom:
# secretKeyRef:
# name: mongodb-secret
# key: username
# - name: MONGO_INITDB_ROOT_PASSWORD
# valueFrom:
# secretKeyRef:
# name: mongodb-secret
# key: password