AWS S3 vs Google Cloud Storage
Complete command comparison for cloud storage operations
Configuration
AWS Access Key ID [None]: YOUR_ACCESS_KEY
AWS Secret Access Key [None]: YOUR_SECRET_KEY
Default region name [None]: ap-south-1
Default output format [None]: json
Configuration
$ gcloud projects list
$ gcloud config set project PROJECT_ID
Basic Operations
$ aws s3 cp /var/www/mainweb.com/public/upload/logo.png s3://u18-evolute-library/upload/
$ aws s3 cp "C:\Users\akashkumar\Downloads\images\logo.png" s3://u18-evolute-library/upload/
$ gsutil cp /var/www/mainweb.com/public/upload/file.jpg gs://u18-evolute-library/upload/
$ gsutil cp "C:\Users\akashkumar\Downloads\images\file.jpg" gs://u18-evolute-library/upload/
$ aws s3 cp /var/www/mainweb.com/public/upload/ s3://u18-evolute-library/upload/ --recursive
$ aws s3 cp "C:\Users\akashkumar\Downloads\images" s3://u18-evolute-library/upload/ --recursive
$ gsutil cp /var/www/mainweb.com/public/upload/* gs://u18-evolute-library/upload/
$ gsutil cp "C:\Users\akashkumar\Downloads\images\*" gs://u18-evolute-library/upload/
Intermediate Operations
$ aws s3 sync /var/www/mainweb.com/public/upload/ s3://u18-evolute-library/upload/
$ aws s3 sync "C:\Users\akashkumar\Downloads\images" s3://u18-evolute-library/upload/
$ gsutil -m rsync -r /var/www/mainweb.com/public/upload/ gs://u18-evolute-library/upload
$ gsutil -m rsync -r "C:\Users\akashkumar\Downloads\images" gs://u18-evolute-library/upload
$ aws s3 sync /var/www/mainweb.com/public/upload/ s3://u18-evolute-library/upload/ --delete
$ aws s3 sync "C:\Users\akashkumar\Downloads\images" s3://u18-evolute-library/upload/ --delete
$ gsutil -m rsync -r -d /var/www/mainweb.com/public/upload/ gs://u18-evolute-library/upload
$ gsutil -m rsync -r -d "C:\Users\akashkumar\Downloads\images" gs://u18-evolute-library/upload
Advanced Operations
$ aws s3 cp /var/www/mainweb.com/public/upload/ s3://u18-evolute-library/upload/ --recursive --exclude "*" --include "*.jpg" --include "*.png" --include "*.gif"
$ aws s3 cp /var/www/mainweb.com/public/upload/ s3://u18-evolute-library/upload/videos/ --recursive --exclude "*" --include "*.mp4"
$ gsutil -m cp /var/www/mainweb.com/public/upload/*.{jpg,png,gif} gs://u18-evolute-library/upload
$ gsutil -m cp /var/www/mainweb.com/public/upload/*.mp4 gs://u18-evolute-library/upload/videos/
Files available at:
https://u18-evolute-library.s3.amazonaws.com/upload/filename
Files available at:
https://storage.googleapis.com/u18-evolute-library/upload/filename
$ aws s3 cp s3://u18-evolute-library/upload/ /var/www/mainweb.com/public/backup/ --recursive
$ aws s3 cp s3://u18-evolute-library/upload/ "C:\Users\akashkumar\Downloads\bucket-backup" --recursive
$ gsutil -m cp -r gs://u18-evolute-library/upload /var/www/mainweb.com/public/downloads/
$ gsutil -m cp -r gs://u18-evolute-library/upload "C:\Users\akashkumar\Downloads\bucket-backup"
Automation Scripts
echo Starting sync to AWS S3...
aws s3 sync "C:\Users\akashkumar\Downloads\images" s3://u18-evolute-library/upload/ --delete
echo.
echo Starting sync to Google Cloud Storage...
gsutil -m rsync -r -d "C:\Users\akashkumar\Downloads\images" gs://u18-evolute-library/upload
echo.
echo Sync completed!
pause
echo "Starting sync to AWS S3..."
aws s3 sync /var/www/mainweb.com/public/upload/ s3://u18-evolute-library/upload/ --delete
echo ""
echo "Starting sync to Google Cloud Storage..."
gsutil -m rsync -r -d /var/www/u18evolute.com/public/upload/ gs://u18-evolute-library/upload
echo ""
echo "Sync completed!"
Pro Tips
- Use the
-mflag with gsutil for parallel operations (faster transfers) - Always test sync commands with
--dryrunoption first to see what will be transferred - For production environments, consider using IAM roles (AWS) or Service Accounts (GCP) instead of access keys
- Set up lifecycle policies to automatically manage object expiration and storage class transitions