So I have to download a customer's site from their old server, because the wget I did a few weeks ago missed some “private” files.
Why did I use wget a few weeks ago?
Because of FTP (File Transport Protocol), that's why (and yes, I did forget that wget can do FTP—grrrr).
Now, I'm used to using FTP. Been using it since, oh, 1989 or there abouts. But the standard FTP client that comes with Unix doesn't handle directories very well, in that you can't just “get” a directory and have it download all the files in said directory—no, you have to change into each directory and grab the files.
[Why? Because it feels soo good when I stop] [1]
Well, there is ncftp but I hate ncftp. I'd rather use a Windows FTP client like CuteFTP or WS-FTP than ncftp and that says something.
So I end up using ncftp.
Under Windows no less.
Sigh.
I don't have ncftp installed on my workstation, because apparently, it isn't installed by default with this Linux distribution (which is based off a RedHat [2] distribution—funnily enough, my system at home, which started out as a RedHat 5.0 system, has ncftp installed, even though I never use it). And I'm not about to install it, given the oh so wonderful experiences I've had with package managers that fail to actually install the packages I want because I use the common name, like foobar instead of the more precise name like foobar-2.4.2-snap-dragon-on-speed.Beta-release.
So I figure I'd use Windows, since every Windows GUI (Graphical User Interface) FTP client can at least deal with recursively downloading files.
Only the GUI-based FTP clients we have installed on the Windows system are well past their “evaluation” period and is now in the “register now or we trash your system” period. And the default Windows FTP command line program is even more pathetic than the default Unix FTP command line program, so using that is out of the question.
But …
The Windows systems have Cygwin [3] installed, which includes an install of ncftp.
So that's why I'm using ncftp under Windows.
But why do I hate ncftp?
Because it does things on my behalf that I don't want it doing. I'm used:
>
```
GenericUnixPrompt> ftp ftp.example.net
Connected to ftp.example.net
220 Foobar 2.4.2 Snap-Dragon-On-Speed Alpha Release
Name (ftp.example.net:spc):
331 Password required for spc.
Password:
230 User spc logged in.
ftp>
```
You know, the FTP program asking me for the userid and password.
ncftp? Oh, it tries to be “helpful” and unless otherwise stated on the command line, will automatically anonymously log me in. You know, to save me from having to type A N O N Y M O U S (or even F T P which became the other default anonymous user login because I guess, typing A N O N Y M O U S proved to be too difficult for most users).
That is not the behavior I expect from an FTP client—especially a command line FTP client, and I know I'm in the minority on this (since nearly every one of my friends seems to like, or at least, tolerate, ncftp as the current state of affairs, much like Medival peasants tolerated the Black Death as the current state of affairs).
Once past that problem, next was downloading the entire site. Started the recursive GET, only to have it time out on a particularly large file. Okay, try it again.
At least ncftp was smart enough to realize what it had already downloaded, but a few of the files apparently “changed” between the two attempts, and I was given the chance to “[O]verwrite” or “[!O]verwrite All.” My mistake here was assuming that “[!O]verwrite All” meant that any files that it would otherwise ask me about it would just overwrite.
Hah!
No, selecting “[!O]verwrite All” really meant: “re-download every file and oh, crap out on the really large ones.”
A couple of hours of fighting this crap, I found out that what I really wanted was set auto-resume yes.
To really drive home the friendliness point—as I was trying to quit ncftp it noticed that I had not “bookmarked” the site. No, just quit—I don't need to be asked to “bookmark” it—if I want to “bookmark” it, I'll tell you.
Sheesh.
God, I just love software that knows better than I about what I want done.