Ah... I think I've found the issue...
It seems thats if I include an S3 prefix, e.g.
$ ruby s3sync/s3sync.rb MY_BACKUP_ROOT/ bucketname:test -v
then every file gets uploaded every time. On the other hand, if I remove the prefix, e.g.
$ ruby s3sync/s3sync.rb MY_BACKUP_ROOT/ bucketname: -v
then only the missing files get uploaded.
Thanks!
That's not enough. You also have to make sure your local directory (MY_BACKUP_ROOT) does not end in a slash.
Cancel that, still broken. This needs to get fixed.
I'm uploading using this command:
./s3sync.rb --delete --public-read --cache-control="public, max-age=315360000" --verbose "/mnt/photos/public" bofgallery:
Setup:
- /mnt/photos/public contains a folder called "data", which contains hardlinks to image files
- Here is a representative element of the bucket's contents.
Results from testing (with files already synced):
- If I use /mnt/photos/public/ and bofgallery:, the files are dropped directly into the bucket with no "data/" prefix -- a duplication, of course.
- If I use /mnt/photos/public and bofgallery:, s3sync creates a node called "public" in the bucket, and stops.
- If I use /mnt/photos/public/data and bofgallery:, nothing seems to happen.
- And if I use /mnt/photos/public/data/ and bofgallery:data/, everything gets uploaded over again.
I'm freakin' out here!
ETA: I'm creating a new bucket and avoiding subdirectories. That's the only thing that seems to work. So, the new script uses /mnt/photos/public/ and bofgallerydata:.