diff --git a/Infrequent_access/backup.namespace.yaml b/Infrequent_access/backup.namespace.yaml new file mode 100644 index 0000000..ce4bab1 --- /dev/null +++ b/Infrequent_access/backup.namespace.yaml @@ -0,0 +1,4 @@ +apiVersion: v1 +kind: Namespace +metadata: + name: backup diff --git a/Infrequent_access/pvc.claim.yaml b/Infrequent_access/pvc.claim.yaml new file mode 100644 index 0000000..fd967c0 --- /dev/null +++ b/Infrequent_access/pvc.claim.yaml @@ -0,0 +1,16 @@ +kind: PersistentVolumeClaim +apiVersion: v1 +metadata: + name: synology-backup + namespace: backup + annotations: + fileType: Backup +spec: + storageClassName: nfs-storage-infrequentaccess + accessModes: + - ReadWriteMany + resources: + requests: + storage: 20Gi + + diff --git a/Infrequent_access/rsync_scripts.configmap.yaml b/Infrequent_access/rsync_scripts.configmap.yaml new file mode 100644 index 0000000..1aadd5b --- /dev/null +++ b/Infrequent_access/rsync_scripts.configmap.yaml @@ -0,0 +1,15 @@ +apiVersion: v1 +data: + rsync.sh: | + #!/usr/bin/env bash + #sleep 3600 + apk update + apk add rsync + rsync -avv /source/Backup /destination + rsync -avv /source/Image /destination + +kind: ConfigMap +metadata: + creationTimestamp: null + name: rsync-scripts + namespace: backup diff --git a/Infrequent_access/synology_pod.yaml b/Infrequent_access/synology_pod.yaml index a2dd410..8263784 100644 --- a/Infrequent_access/synology_pod.yaml +++ b/Infrequent_access/synology_pod.yaml @@ -1,8 +1,8 @@ apiVersion: batch/v1 kind: Job metadata: - name: nextcloud-notes-backup-job-python - namespace: nextcloud + name: rsync-synology-job + namespace: backup spec: backoffLimit: 6 template: @@ -10,45 +10,29 @@ spec: containers: - command: - /bin/sh - - /config/export_notes.sh - env: - - name: PI_USER_USERNAME - valueFrom: - secretKeyRef: - key: PI_USER_USERNAME - name: nextcloud-credentials - - name: PI_USER_PASSWORD - valueFrom: - secretKeyRef: - key: PI_USER_PASSWORD - name: nextcloud-credentials + - /config/rsync.sh image: alpine imagePullPolicy: Always - name: notes-backup - resources: {} - terminationMessagePath: /dev/termination-log - terminationMessagePolicy: File + name: rsync-synology volumeMounts: - - mountPath: /backup - name: notes - - mountPath: /var/www/html - name: nextcloud-webserver + - name: synology-backup + mountPath: /destination + - name: ssd + mountPath: /source - mountPath: /config name: scripts - dnsPolicy: ClusterFirst restartPolicy: Never - schedulerName: default-scheduler - securityContext: {} terminationGracePeriodSeconds: 30 volumes: - - name: notes + - name: ssd + hostPath: + path: /ssd/ + type: Directory + - name: synology-backup persistentVolumeClaim: - claimName: nextcloud-notes-backup - - name: nextcloud-webserver - persistentVolumeClaim: - claimName: nextcloud-webserver + claimName: synology-backup - configMap: defaultMode: 365 - name: nextcloud-export-scripts + name: rsync-scripts name: scripts ttlSecondsAfterFinished: 100