offsite backup revision
This commit is contained in:
@@ -59,19 +59,27 @@ spec:
|
|||||||
name: gitea-backup-secret
|
name: gitea-backup-secret
|
||||||
key: borg_passphrase
|
key: borg_passphrase
|
||||||
|
|
||||||
|
|
||||||
|
- name: OFFSITE_TARGET_FOLDER
|
||||||
|
valueFrom:
|
||||||
|
secretKeyRef:
|
||||||
|
name: gitea-backup-secret
|
||||||
|
key: offsite_target_folder
|
||||||
|
|
||||||
|
|
||||||
- name: BORG_RSH
|
- name: BORG_RSH
|
||||||
value: ssh -p 2222 -o StrictHostKeyChecking=no -o LogLevel=ERROR
|
value: ssh -p 2222 -o StrictHostKeyChecking=no -o LogLevel=ERROR
|
||||||
|
|
||||||
|
|
||||||
- name: REPO_SYNC_MAX_SIZE
|
- name: REPO_SYNC_MAX_SIZE
|
||||||
value: "10737418240" # 10GB
|
value: "10737418240" # 10GB
|
||||||
|
|
||||||
|
- name: MODE
|
||||||
|
value: SHELL
|
||||||
|
|
||||||
|
|
||||||
command: ["bash", "-c"]
|
|
||||||
args:
|
args:
|
||||||
- |
|
- |
|
||||||
set -e
|
set -e
|
||||||
source loadenv
|
|
||||||
|
|
||||||
SCRIPT_START_TIME=$(date +%s)
|
SCRIPT_START_TIME=$(date +%s)
|
||||||
|
|
||||||
@@ -88,7 +96,7 @@ spec:
|
|||||||
borg compact ${BORG_REPO}
|
borg compact ${BORG_REPO}
|
||||||
|
|
||||||
# check repo size
|
# check repo size
|
||||||
REPO_SIZE_IN_BYTES=$(remote-connect du -b "$SSH_FOLDER" -d 0 | awk '{print $1}')
|
REPO_SIZE_IN_BYTES=$(remote-get-folder-size)
|
||||||
echo "Repository size: $((REPO_SIZE_IN_BYTES / 1024 / 1024))MB"
|
echo "Repository size: $((REPO_SIZE_IN_BYTES / 1024 / 1024))MB"
|
||||||
|
|
||||||
if [ $REPO_SIZE_IN_BYTES -gt $REPO_SYNC_MAX_SIZE ]; then \
|
if [ $REPO_SIZE_IN_BYTES -gt $REPO_SYNC_MAX_SIZE ]; then \
|
||||||
@@ -97,8 +105,7 @@ spec:
|
|||||||
else
|
else
|
||||||
# Repository size is within limits for offsite sync
|
# Repository size is within limits for offsite sync
|
||||||
# ssh to backup server and enforce rclone to onedrive
|
# ssh to backup server and enforce rclone to onedrive
|
||||||
remote-connect "rclone sync ~/borg-repos/git.limbosolutions.com mf_onedrive:.backups/git.limbosolutions.com/borg" && \
|
remote-connect "rclone sync $SSH_FOLDER $OFFSITE_TARGET_FOLDER --progress" && \
|
||||||
SCRIPT_DURATION=$(($(date +%s) - SCRIPT_START_TIME)) && \
|
|
||||||
echo "INFO: Finished Backup of git.limbosolutions.com (offsite) ($((SCRIPT_DURATION / 60 / 60)):$((SCRIPT_DURATION / 60)):$((SCRIPT_DURATION % 60))) "
|
echo "INFO: Finished Backup of git.limbosolutions.com (offsite) ($((SCRIPT_DURATION / 60 / 60)):$((SCRIPT_DURATION / 60)):$((SCRIPT_DURATION % 60))) "
|
||||||
fi
|
fi
|
||||||
|
|
||||||
@@ -123,7 +130,6 @@ spec:
|
|||||||
mountPath: /app/borg/key
|
mountPath: /app/borg/key
|
||||||
subPath: borg_key
|
subPath: borg_key
|
||||||
|
|
||||||
|
|
||||||
volumes:
|
volumes:
|
||||||
|
|
||||||
- name: gitea-data
|
- name: gitea-data
|
||||||
|
|||||||
@@ -11,6 +11,7 @@ stringData:
|
|||||||
pbs_fingerprint: ${PBS_FINGERPRINT}
|
pbs_fingerprint: ${PBS_FINGERPRINT}
|
||||||
borg_repo: ${BORG_REPO}
|
borg_repo: ${BORG_REPO}
|
||||||
borg_passphrase: ${BORG_PASSPHRASE}
|
borg_passphrase: ${BORG_PASSPHRASE}
|
||||||
|
offsite_target_folder: ${OFFSITE_TARGET_FOLDER}
|
||||||
#SSH_ID_RSA: ""
|
#SSH_ID_RSA: ""
|
||||||
#BORG_KEY: ""
|
#BORG_KEY: ""
|
||||||
|
|
||||||
Reference in New Issue
Block a user