The three trials with "-d":
1. Without manually creating target directory:
dbingham:~/Scripts/s3sync dbingham$ ./s3sync.rb --make-dirs -r -d DLBProjects:Woodworking /Users/dbingham/temp/
s3Prefix Woodworking
localPrefix /Users/dbingham/temp/Woodworking
s3TreeRecurse DLBProjects Woodworking
Creating new connection
Trying command list_bucket DLBProjects max-keys 200 prefix Woodworking delimiter / with 100 retries left
Response code: 200
prefix found: /
s3TreeRecurse DLBProjects Woodworking /
Trying command list_bucket DLBProjects max-keys 200 prefix Woodworking/ delimiter / with 100 retries left
Response code: 200
S3 item Woodworking/
s3 node object init. Name: Path:Woodworking Size:0 Tag:d41d8cd98f00b204e9800998ecf8427e
local node object init. Name: Path:/Users/dbingham/temp/Woodworking/ Size: Tag:
source:
dest:
Update node
./s3sync.rb:627:in `initialize': No such file or directory - /Users/dbingham/temp/Woodworking/.s3syncTemp (Errno::ENOENT)
from ./s3sync.rb:627:in `open'
from ./s3sync.rb:627:in `updateFrom'
from ./s3sync.rb:392:in `main'
from ./s3sync.rb:724
2. Manually create target directory but use same command:
dbingham:~/Scripts/s3sync dbingham$ mkdir ~/temp/Woodworking
dbingham:~/Scripts/s3sync dbingham$ ./s3sync.rb --make-dirs -r -d DLBProjects:Woodworking /Users/dbingham/temp/
s3Prefix Woodworking
localPrefix /Users/dbingham/temp/Woodworking
s3TreeRecurse DLBProjects Woodworking
Creating new connection
Trying command list_bucket DLBProjects max-keys 200 prefix Woodworking delimiter / with 100 retries left
Response code: 200
prefix found: /
s3TreeRecurse DLBProjects Woodworking /
Trying command list_bucket DLBProjects max-keys 200 prefix Woodworking/ delimiter / with 100 retries left
Response code: 200
S3 item Woodworking/
s3 node object init. Name: Path:Woodworking Size:0 Tag:d41d8cd98f00b204e9800998ecf8427e
local node object init. Name: Path:/Users/dbingham/temp/Woodworking/ Size:38 Tag:d66759af42f282e1ba19144df2d405d0
source:
dest:
Update node
Trying command get_stream DLBProjects Woodworking #<File:0x61b674> with 100 retries left
Response code: 404
S3 command failed:
get_stream Woodworking #<File:0x61b674>
With result 404 Not Found
#<Net::ReadAdapter:0x61399c>
./s3sync.rb:634:in `unlink': Operation not permitted - /Users/dbingham/temp/Woodworking/ (Errno::EPERM)
from ./s3sync.rb:634:in `updateFrom'
from ./s3sync.rb:392:in `main'
from ./s3sync.rb:724
3. Manually create directory and add "/" at the end of the from to make it only copy content:
dbingham:~/Scripts/s3sync dbingham$ mkdir ~/temp/Woodworking
dbingham:~/Scripts/s3sync dbingham$ ./s3sync.rb --make-dirs -r -d DLBProjects:Woodworking/ /Users/dbingham/temp/Woodworking/
s3Prefix Woodworking/
localPrefix /Users/dbingham/temp/Woodworking
s3TreeRecurse DLBProjects Woodworking/
Creating new connection
Trying command list_bucket DLBProjects max-keys 200 prefix Woodworking/ delimiter / with 100 retries left
Response code: 200
S3 item Woodworking/
s3 node object init. Name: Path:Woodworking Size:0 Tag:d41d8cd98f00b204e9800998ecf8427e
local node object init. Name: Path:/Users/dbingham/temp/Woodworking/ Size:38 Tag:d66759af42f282e1ba19144df2d405d0
source:
dest:
Update node
Trying command get_stream DLBProjects Woodworking #<File:0x61bd04> with 100 retries left
Response code: 404
S3 command failed:
get_stream Woodworking #<File:0x61bd04>
With result 404 Not Found
#<Net::ReadAdapter:0x614f2c>
./s3sync.rb:634:in `unlink': Operation not permitted - /Users/dbingham/temp/Woodworking/ (Errno::EPERM)
from ./s3sync.rb:634:in `updateFrom'
from ./s3sync.rb:392:in `main'
from ./s3sync.rb:724
The first trial seems the most promising. Kinda looks like it is trying to use the local "Woodworking" directory without actually creating it. However, if #2 and #3 are any indication of what would happen in the next step, it wouldn't much matter anyway.
Seems to me like its trying to get a file named "#", but looking at my file listing above, there obviously is no such thing. Not sure if I'm really interpreting that correctly, though.
Anyway, thanks for your help.