39 lines
765 B
YAML
39 lines
765 B
YAML
---
|
|
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"
|