r2-glacier-migration | Skill Performance & Reviews | TopRankSkills

TopRank Skills

Home / Skills / tools / r2-glacier-migration

r2-glacier-migration

maintained by pollinations

star 3.9k account_tree 599 verified_user MIT License
bolt View GitHub

name: r2-glacier-migration description: Monitor and manage R2 to AWS Glacier Deep Archive migration. Use when checking transfer status, resuming transfers, or managing the archive migration.

R2 → AWS Glacier Deep Archive Migration

Migrate ~42.6 TB from Cloudflare R2 to AWS S3 Glacier Deep Archive.

Cost Savings

  • R2: ~$638/month → Glacier: ~$42/month
  • Savings: ~$596/month

Buckets

Bucket Size Objects Status
pollinations-text 16.96 TB 1.86B 🔄 In progress
pollinations-images 25.64 TB 221M ⏳ Pending

Quick Commands

Check Status

# Is transfer running?
ssh ninon "screen -ls"

# View recent logs
ssh ninon "tail -50 ~/r2-glacier/transfer-text.log"

# Check checkpoint
ssh ninon "cat /tmp/r2-glacier-pollinations-text-checkpoint.json | jq ."

Attach to Screen (Interactive)

ssh -t ninon "screen -r r2-text"
# Detach: Ctrl+A, D

Resume if Crashed

ssh ninon "screen -dmS r2-text bash -c '~/r2-glacier/run-text-transfer.sh; exec bash'"

File Locations

Location Path Purpose
Skill scripts/r2-to-glacier-streaming.js Main transfer script
Skill scripts/package.json Dependencies
ninon ~/r2-glacier/ Deployed script + deps
ninon ~/r2-glacier/run-text-transfer.sh Wrapper with credentials
ninon ~/r2-glacier/transfer-text.log Transfer log
ninon /tmp/r2-glacier-*-checkpoint.json Resume checkpoint

Script Usage

# Test (small batch)
node r2-to-glacier-streaming.js -b pollinations-text --batch-size 100 --max-batches 1

# Full transfer
node r2-to-glacier-streaming.js -b pollinations-text --batch-size 50000 --concurrency 30

# Resume after interruption
node r2-to-glacier-streaming.js -b pollinations-text --resume

# Dry run (count only)
node r2-to-glacier-streaming.js -b pollinations-text --dry-run

AWS Setup

  • Bucket: s3://pollinations-archive
  • Region: us-east-1
  • Storage Class: DEEP_ARCHIVE

Verify Archives

aws s3 ls s3://pollinations-archive/ --recursive --human-readable | head -20

Important Notes

  • ⚠️ 180-day minimum on Glacier Deep Archive - don't delete R2 until verified!
  • Some objects fail with "Header overflow" (very large responses) - acceptable loss
  • Text bucket (1.86B objects) takes several days
  • R2 egress is free, AWS ingress is free

Start Images Bucket (After Text Complete)

  1. Update ~/r2-glacier/run-text-transfer.sh on ninon:

    # Change bucket name
    node r2-to-glacier-streaming.js -b pollinations-images --batch-size 50000 --concurrency 30
    
  2. Start new screen:

    ssh ninon "screen -dmS r2-images bash -c '~/r2-glacier/run-images-transfer.sh; exec bash'"
    

Tracking

  • Issue: #5860
  • PR: #5861

chat Comments (0)

chat_bubble_outline

No comments yet. Be the first to share your thoughts!

Skill Details

GitHub Stars 3.9k
GitHub Forks 599
Created Jan 2026
Last Updated 4个月前
tools tools cloud

Build your own?

Join 12,000+ developers contributing to the Claude ecosystem.