I have used pmirror which is a perl script that was announced
on c.o.l.a by email@example.com. It is simple and easy to
understand. I had to make a few adjustments for my situation.
It does not appear to use too much memory. It was available
with other mirror type programs on sunsite. I have always wanted
to use it as a basis for a more sophisticated program but have
not had time to do so. It might be a good model for others trying
to develop similar programs.