I think I am seeing the same problem only it occurs even if the sync completes successfully.
I created a new bucket (using s3cmd.rb) and then issued the following command:
./s3sync.rb -d --ssl --verbose --delete --progress /tmp/aa/ backup.cobb.me.uk:a
/tmp/aa contained two files: a and b.
As expected the command copied both files. Here is the log:
s3Prefix a
localPrefix /tmp/aa/
localTreeRecurse /tmp/aa
Test /tmp/aa/a
Test /tmp/aa/b
local item /tmp/aa/a
local node object init. Name:a Path:/tmp/aa/a Size:2 Tag:60b725f10c9c85c70d97880dfe8191b3
s3TreeRecurse backup.cobb.me.uk a
Trying command list_bucket backup.cobb.me.uk max-keys 200 prefix a delimiter / with 100 retries left
Response code: 200
source: a
s3 node object init. Name:a Path:a/a Size: Tag:
Create node a
a/a
File extension: a/a
Trying command put backup.cobb.me.uk a/a #<S3::S3Object:0x2b27b4e05950> Content-Length 2 with 100 retries left
Response code: 200
local item /tmp/aa/b
local node object init. Name:b Path:/tmp/aa/b Size:2 Tag:3b5d5c3712955042212316173ccf37be
source: b
s3 node object init. Name:b Path:a/b Size: Tag:
Create node b
a/b
File extension: a/b
Trying command put backup.cobb.me.uk a/b #<S3::S3Object:0x2b27b4d57e90> Content-Length 2 with 100 retries left
Response code: 200
I then reissued exactly the same command and got almost exactly the same log:
s3Prefix a
localPrefix /tmp/aa/
localTreeRecurse /tmp/aa
Test /tmp/aa/a
Test /tmp/aa/b
local item /tmp/aa/a
local node object init. Name:a Path:/tmp/aa/a Size:2 Tag:60b725f10c9c85c70d97880dfe8191b3
s3TreeRecurse backup.cobb.me.uk a
Trying command list_bucket backup.cobb.me.uk max-keys 200 prefix a delimiter / with 100 retries left
Response code: 200
prefix found: /
source: a
s3 node object init. Name:a Path:a/a Size: Tag:
Create node a
a/a
File extension: a/a
Trying command put backup.cobb.me.uk a/a #<S3::S3Object:0x2b88a5339448> Content-Length 2 with 100 retries left
Response code: 200
local item /tmp/aa/b
local node object init. Name:b Path:/tmp/aa/b Size:2 Tag:3b5d5c3712955042212316173ccf37be
source: b
s3 node object init. Name:b Path:a/b Size: Tag:
Create node b
a/b
File extension: a/b
Trying command put backup.cobb.me.uk a/b #<S3::S3Object:0x2b88a528bd48> Content-Length 2 with 100 retries left
Response code: 200
The files were copied again.
I was hoping to use s3sync to synchronise some files which are about 1.5GB long (slices of a backup) and so copying the file unnecessarily is a big problem!
Any ideas?
Graham