2

I'm trying to download a folder using wget on the Terminal (I'm usin a Mac if that matters) because my ftp client sucks and keeps timing out. It doesn't stay connected for long. So I was wondering if I could use wget to connect via ftp protocol to the server to download the directory in question. I have searched around in the internet for this and have attempted to write the command but it keeps failing. So assuming the following:

ftp username is: serveradmin@mydomain.ca ftp host is: ftp.s12345.gridserver.com ftp password is: somepassword

I have tried to write the command in the following ways:

wget -r ftp://serveradmin@mydomain.ca:somepassword@s12345.gridserver.com/path/to/desired/folder/

wget -r ftp://serveradmin:somepassword@s12345.gridserver.com/path/to/desired/folder/

When I try the first way I get this error:

 Bad port number.

When I try the second way I get a little further but I get this error:

Resolving s12345.gridserver.com... 71.46.226.79
Connecting to s12345.gridserver.com|71.46.226.79|:21... connected.
Logging in as serveradmin ... 
Login incorrect.

What could I be doing wrong?

user41157
  • 189
  • 2
  • 9

1 Answers1

6

So you are running a wget command, but can not issue wget -h? :)

FTP options:
       --ftp-user=USER         set ftp user to USER.
       --ftp-password=PASS     set ftp password to PASS.

So your command becomes

wget -r --ftp-user="serveradmin@mydomain.ca" --ftp-password=somepassword ftp://s12345.gridserver.com/path/to/desired/folder/

You most likely will have to put " " around the username because it contains @ character

solefald
  • 2,303
  • 15
  • 14
  • It totally worked. Thank you so much. I've been racking my head for a couple of hours trying to get this exact command to work. I asked this same question at Stackoverflow & someone suggested that I could use the scp instead & it works on Media Temple because I have ssh access but I feared it wouldn't work on other hosting services without ssh access. Final question: what flag could I put so that it doesn't download every folder in between? E.g. suppose the path to the folder is this: /domains/mydomain/html/webdir and I just want webdir/ to be downloaded and not domains/, mydomain/ and html/? – user41157 Apr 21 '10 at 21:20
  • Glad i could help! To avoid downloading "parent" folders, use `-np` (same as `--no-parent`) option. It should do what you need. – solefald Apr 21 '10 at 21:50
  • +1 for "So you are running a wget command, but can not issue wget -h?". – John Gardeniers Apr 21 '10 at 22:11
  • I did look at the command line options but I guess I had no patience to try too many configurations before getting frustrated. I'd rather ask questions first to get an idea. – user41157 Apr 22 '10 at 00:05