rsync is incredible, and you should use it! But, 95% of the time what I need to do with a utility like rsync is to back
Downloads folder to the large HDD on my desktop before I distro-hop (yes, I’m that person). Everything else
is backed up to github anyway, because I basically do nothing but code on my computers!
rsync (or really
rsync -azP) for this works okay, but I run into another problem: I intentionally bought a
pretty slow laptop because it gets better battery life. This is not really an issue unless I am compiling llvm or
trying to compress a 200GB
Downloads folder. There’s a compounding issue in that I frequently am doing this
over the summer, which means that since I am in school at the moment, I am doing this in an airbnb typically
owned by a less than tech savvy landlord and the Wifi is not…great.
So what do we do? We don’t want to compress over the wire, we definitely don’t want to write our own utility…
but FTP is fast! And also…it’s pretty annoying to use.
put -r of
sftp fame doesn’t exist on regular old
ftp and besides, setting up a server and writing a unit file will take an hour.
What I do is this:
On the server:
$ python3 -m pip install pyftpdlib $ python3 -m pyftpdlib --directory=. --port [PORT] --write
On the client, I install
lftp, the best FTP client I am aware of, and use its
“reverse mirror” functionality to recursively copy over my full directory:
$ lftp -u anonymous,password -p [PORT] [HOSTNAME] lftp~> mirror -R Downloads
That’s it! Wait an hour or two, and you are ready to distrohop to your heart’s content.