Published on 25 Jan 2022
Interruptions have a way of happening when you are least prepared. From an unstable internet connection to accidentally closing your FTP client or switching off the computer before verifying all actions are complete – but the FTP resume feature helps you recover and gets your files where they need to be.
The FTP protocol was first introduced 50 years ago and since then it has become a very popular choice when companies need to transfer files. In 2007, RFC 3659 introduced new FTP commands which included commands to allow users to restart interrupted transfers.
Lists information about a file.
Lists information about files inside a directory.
Gets the file size of an object.
A marker indicating a file can be resumed.
If your FTP server supports RFC 3659, you’ll be able to resume interrupted transfers based on the amount of data that already exists on the receiving side.
It’s important to keep in mind that resuming an interrupted transfer will not validate that the previously uploaded data matches the current data of the file – it simply restarts the transfer from where it left off. If for some reason the beginning of your file has changed you’ll want to overwrite the file instead.
If your FTP client connection failed during uploading, it will leave behind a partial file. In your account, you will see a smaller file size than expected. Once you recognize that there was an error, log back into your FTP client and the incomplete upload should automatically pick up where it left off.
Some clients may not automatically resume. In this case, your FTP client may provide you with a message and the option to resume. Choose the FTP resume option and your upload will continue.
To resume a transfer, first the client (for example, FileZilla) needs to determine how much of the file has already been transferred. It can check the size on the server using MLST/MLSD/SIZE (for uploads) or the size on the client itself (for downloads) to determine where it left off.
Once your FTP client has this information, it issues a REST command to inform the server to start from that position in the file. After issuing the REST command the client will either need to issue a STORE (for uploads) or RETRIEVE (for downloads) to start the actual transfer.
SFTP is a separate protocol from traditional FTP and offers increased security by depending on an underlying SSH protocol to provide secure file transfers between two parties.
The SFTP protocol supports both `reget` and `reput` commands which allow you to resume downloads and uploads respectively. Like FTP, these commands simply restart the upload from where it left off.
When unexpected interruptions occur, FTP resume is there to pick up where your file transfer left off.
For more on FTP commands, check our post Essential FTP Commands List.