This is an old revision of the document!

File Transfer Resume

Advertisement

Basic Usage

WinSCP supports resuming file transfers with SFTP and FTP protocols. SCP protocol does not allow it.

Automatic Resume/Transfer to Temporary Filename

WinSCP is able to store file being transferred to temporary filename first, renaming it to the target name only once the transfer successfully finishes.

Reasons to do that:

  • If the transfer is interrupted, on the next attempt (either manual or automatic), WinSCP is able to automatically detect the partial/temporary file and offer you to resume the transfer (or even resume automatically).
  • While updating an existing file, the original version of the file exists during whole transfer. This is particularly useful when updating frequently accessed file on web sites.

Reasons not to do that:

  • As the file is uploaded to a temporary name, it is technically a new file, even though the file with target name already exists. As such:
    • after the original file is deleted and temporary file is renamed to the original file name, you loose all attributes of the original file (such as owner and group) except for permissions;
    • while you may have permissions to overwrite the existing file, you might not have permissions to create new (temporary) file.

For performance reasons transfer to temporary file name is enabled by default for files larger than a given threshold. The threshold is initially 100 KiB. You can change the threshold. You can also enable the feature for all files, particularly when looking to achieve the second impact. You may also need to disable the feature altogether, particularly if you do not have permissions required (e.g. permissions to create a new file in target directory). This can be configured on Endurance tab of Preferences dialog.

If your transfer is interrupted, a partial file (with .filepart extension) remains in the target folder. After you try to transfer the file a second time, WinSCP looks for the partial file. If it finds a partial file, it offers you chance to resume the transfer (the confirmation can be disabled).

Advertisement

Note that partial files can be distinguished in file panel by special “torn sheet” overlay icon.

To configure transfer to temporary file name in scripting, use -resumesupport switch of file transfer commands. In .NET assembly use TransferOptions.ResumeSupport. This feature is available only in the latest beta release.

Transfer to temporary filename is supported with SFTP protocol only and only for binary transfers.

Manual Resume

There’s an alternative manual method to resume transfer, which can be used with FTP protocol.

If you attempt to transfer a file already in the target directory and the target file is smaller then the source file, the overwrite confirmation dialog displays a Resume button or an Append button (when appending is supported). After you click Append, WinSCP opens another prompt that lets you append source file or resume your transfer.

If you resume the transfer, WinSCP will skip a part of the source file equal to the target file’s size. The program will only transfer the remainder.

Note that you must have overwrite confirmations enabled to use the method.

The method is also useful for resuming transfers initiated by other clients and also to update log files. Manual resuming of text mode transfers with SFTP-4 and newer is not supported.

Common Problems

If you want to resume your transfer, you must use the same source file version as the interrupted transfer. If you do not, your target file will include the source file’s previous version and its current version. For automatic resume, if the partial file is bigger than the source file, WinSCP will display error and disallow resume.

If the target file exists and it is not write-able, but the target directory is, the file will may be transferred anyway with automatic resume. The error overwriting the file will occur only after the transfer finishes. It is because the file is first transferred into temporary file.

Resuming from Broken Connections

With SFTP and FTP protocols, when connection is broken, WinSCP can automatically reconnect and resume the transfer1. This can be configured on Endurance tab of Preferences dialog.

  1. If transfer resuming is disabled, file transfer will start from the beginning.Back

Last modified: by martin