Files
a13labs.infra/terraform/modules/utils/scw_rclone/resources/backup.sh
T
alexandre.pires aee57a8b89 Refactor Gitea and SSH configurations, update backup scripts, and enhance Nginx settings
- Updated SSH configuration for Gitea to disable banner and TTY, and modified the AuthorizedKeysCommand.
- Simplified gitea-shell script to directly call the k8s_gitea_shell command with required parameters.
- Removed unused gitea-auth script from playbook_gitea.yml.
- Updated systools_version in playbook_systools.yml to 0.4.5.
- Enhanced ssh_locker_helper to copy redirect URL to clipboard based on OS.
- Added a new script test_imaps for IMAP testing.
- Updated Terraform configurations for various applications, including:
  - Added a backup script for MariaDB with retention policy.
  - Changed Gitea version to 1.24-rootless and adjusted SSH settings.
  - Updated Nginx configurations to log errors and access to stderr/stdout.
  - Refactored services to use ClusterIP type and adjusted security contexts for deployments.
  - Added temporary storage for applications using empty_dir.
  - Enhanced backup.sh scripts for better error handling and logging.
2025-09-20 21:34:33 +02:00

40 lines
1.1 KiB
Bash

#!/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"