feat(backup): add backup script and refactor cron job to use it
This commit is contained in:
@@ -0,0 +1,32 @@
|
||||
#!/bin/sh
|
||||
if [ -z "$SCW_ACCESS_KEY" ] || [ -z "$SCW_SECRET_KEY" ]; then
|
||||
echo "SCW_ACCESS_KEY and SCW_SECRET_KEY must be set"
|
||||
exit 1
|
||||
fi
|
||||
if [ -z "$BUCKET_NAME" ]; then
|
||||
echo "BUCKET_NAME must be set"
|
||||
exit 1
|
||||
fi
|
||||
if [ -z "$APP_NAME" ]; then
|
||||
echo "APP_NAME must be set"
|
||||
exit 1
|
||||
fi
|
||||
if [ -z "$BACKUP_RETENTION" ]; then
|
||||
echo "BACKUP_RETENTION must be set"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
envsubst < /etc/rclone.conf.tmpl > /tmp/rclone.conf
|
||||
unset $SCW_ACCESS_KEY
|
||||
unset $SCW_SECRET_KEY
|
||||
|
||||
apk update
|
||||
apk add gettext
|
||||
tar -zcvpf /backup/$APP_NAME-files-`date +\"%Y%m%d\"`.tar.gz /files
|
||||
|
||||
# Remove old backups
|
||||
BACKUP_FILE_PATTERN="$APP_NAME-files-*.tar.gz"
|
||||
find /backup -type f -name $BACKUP_FILE_PATTERN -mtime +$BACKUP_RETENTION | xargs --no-run-if-empty rm
|
||||
|
||||
# Upload to Scaleway
|
||||
/usr/local/bin/rclone --config=/tmp/rclone.conf sync --progress /backup scaleway:$BUCKET_NAME/$APP_NAME-backup"
|
||||
Reference in New Issue
Block a user