I had a lot of files to transfer, little bandwith from my laptop and limited timed. Can I have my server transfering the files in the background? Yes.
My VPS has more bandwith than my current location. I needed to FTP the files, a little research and I settled on lftp. I use debian-based linux, so
apt-get install lftp to get the program, and then.
cd to my files location.
If you are in the current directory of your files, you will use the following command:
lftp -e 'mirror -R . /TARGET/PATH' -u USERNAME,PASSWORD HOSTNAME
I’ve used mirror option with the -R flag mirrors the target path to match the local files. The -e flag deletes target files matching source files if they exist.
To make this command run in the background you need to put ampersand:
& at the end; so your command becomes:
lftp -e 'mirror -R . /TARGET/PATH' -u USERNAME,PASSWORD HOSTNAME &
The transfer is now running in the background - confirm this by typing
top ( a list of running processes consuming the most resources) -lftp should be here.
This allowed me to close my laptop and hit the gym while I’m uploading ~2GB of files, brilliant.
Note: this tool will not create directories on the target FTP server - you will need to create these manually, or look for a different method if you have many