kubs/alaskarTV/backups/cronjobs.yaml
2025-01-12 16:10:52 +03:00

80 lines
1.8 KiB
YAML

apiVersion: batch/v1
kind: CronJob
metadata:
name: backups-nfs
spec:
schedule: "0 2 * * *" # Runs daily at 2 AM
jobTemplate:
spec:
template:
spec:
containers:
- name: nfs-backup
image: alpine:3.18
command:
- /bin/sh
- -c
- |
# Backup /SSD/configs/ to backups/alaskartv
rsync -av --delete /configs/ /backups/alaskartv/
# Backup Forgejo instance and DB
rsync -av --delete /git/forgejo-instance/ /backups/git/forgejo-instance/
rsync -av --delete /git/forgejo-db/ /backups/git/forgejo-db/
volumeMounts:
- name: nfs-configs
mountPath: /configs
- name: nfs-git
mountPath: /git
- name: nfs-backups
mountPath: /backups
securityContext:
runAsUser: 0
runAsGroup: 0
privileged: true
restartPolicy: OnFailure
volumes:
- name: nfs-configs
persistentVolumeClaim:
claimName: pvc-nfs-configs
- name: nfs-git
persistentVolumeClaim:
claimName: pvc-nfs-git
- name: nfs-backups
persistentVolumeClaim:
claimName: pvc-nfs-backups
---
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: pvc-nfs-configs
spec:
accessModes:
- ReadWriteMany
resources:
requests:
storage: 3Ti
---
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: pvc-nfs-git
spec:
accessModes:
- ReadWriteMany
resources:
requests:
storage: 3Ti
---
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: pvc-nfs-backups
spec:
accessModes:
- ReadWriteMany
resources:
requests:
storage: 3Ti