I have tried many dozens of variations to coax this utility into behaving as its documentation claims it will (FreeBSD 10, py-s3cmd).
With this directory structure:
A
file1.txt
+ B
+ file2.txt
According to the documentation and the man page, the following command should recursively sync this entire tree:
s3cmd sync /local/A/ s3://com.foo.bar/mybucket/
However, the command only syncs file1.txt and nothing else. I have tried with the --recursive flag and it has no effect.
The user running the command did not have read access to the file. Once that user had permission, of course everything worked.