In the past I've used rclone to sync between remote S3 source and destination. One error I encountered was when the source bucket contains a mix of Standard class and Glacier class files. When attempting to download files to the destination bucket that are Glacier class, an error is raised as might be expected.
Quick follow-up question: if I run an rclone copy --metadata --metadata-exclude tier=GLACIER src: dest: for S3, will including the metadata flag cause a new copy of every file from src: to dest:? Some of our S3 remote bucket pairs have been fully synced prior to using rclone, so I would not want to redownload terabytes of files just to run rclone the first time.
... If you are worried about that then you could use rclone lsf --metadata --metadata-exclude tier=GLACIER src: to make a list of files to feed to --files-from.