--- apiVersion: v1 kind: ConfigMap metadata: name: rclone-sync-script namespace: rook-ceph-s3-backup data: rclone-sync-script.sh: | #!/usr/bin/env sh set -eu SRC_REMOTE="ceph:" DST_REMOTE="rustfs:ceph-s3-backup" # BUCKETS=$(kubectl get ObjectBucketClaim -A \ -o jsonpath='{range .items[*]}{.spec.bucketName}{"\n"}{end}' \ | sort -u) if [ -z "$BUCKETS" ]; then echo "No buckets found" exit 0 fi echo "$BUCKETS" | while IFS= read -r bucket; do [ -z "$bucket" ] && continue echo "Syncing: $bucket" rclone sync \ "${SRC_REMOTE}${bucket}" \ "${DST_REMOTE}/${bucket}" \ --transfers 4 \ --checkers 8 \ --log-level INFO done echo "Done"