#!/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 # install required packages apk update apk add gettext # Create rclone config (Scaleway) envsubst < /etc/rclone.conf.tmpl > /tmp/rclone.conf unset SCW_ACCESS_KEY unset SCW_SECRET_KEY # Create backup echo "Creating backup of /src directory" tar -zcvpf /backup/$APP_NAME-files-`date +"%Y%m%d"`.tar.gz /src # Remove old backups BACKUP_FILE_PATTERN="$APP_NAME-files-*.tar.gz" echo "Removing old backups matching pattern: $BACKUP_FILE_PATTERN" find /backup -type f -name "$BACKUP_FILE_PATTERN" -mtime +$BACKUP_RETENTION | xargs --no-run-if-empty rm # Upload to Scaleway echo "Uploading backup to Scaleway bucket" /usr/local/bin/rclone --config=/tmp/rclone.conf sync --progress /backup "scaleway:$BUCKET_NAME/$APP_NAME-backup"