Bad FTP mirrors with fmirror or wget ? Use lftp !

Today I’ve found that my websites were not backed up as expected. I was using fmirror (v0.8.4) to get a copy from my host provider to my backup machine. Here is the command line I was using:

fmirror -kRS -u kevin -p pass -s ftp.website.com -r /html -l /mnt/removable/website_backup/current

But fmirror seems to not care about sub-directories starting from a given depth. One source of the problem could be strange file names (spaces, utf8 chars, etc).

Because I don’t had the time to investigate further, I was looking for an alternative. So I tried wget (v1.10) with the following command:

wget -r -nH -N --cut-dirs=1 -l0 -np --cache=off ftp://kevin:pass@ftp.website.com:21/html -o ../backup.log

This work perfectly on small websites. But on my biggest one (hundreds of MB), wget hang up with the following error:

*** glibc detected *** double free or corruption (top): 0x08097750 ***

It seems to be a known limitation of wget: “Wget has got serious problems retrieving huge sites” (source: “Possible Alternatives to WGET”).

So I went back to basics by using the good old lftp, which is efficient and reliable. Here is the command:

lftp -c 'open -e "mirror -e . ./ " ftp://kevin:pass@ftp.website.com:21/html'

One thought on “Bad FTP mirrors with fmirror or wget ? Use lftp !

  1. Pingback: Script to Automate FTP site Backup. at Coolkevmen

Leave a Reply

Your email address will not be published.

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

Notify me of followup comments via e-mail. You can also subscribe without commenting.