Differences
This shows you the differences between the selected revisions of the page.
resume 2022-05-31 | resume 2023-12-07 (current) | ||
Line 4: | Line 4: | ||
WinSCP supports resuming file transfers with [[SFTP]] and [[FTP]] protocols. [[SCP]] and [[WebDAV]] protocols do not allow it. With [[S3]] protocol, transfer can be resumed only immediately by reconnecting a lost session, not later. | WinSCP supports resuming file transfers with [[SFTP]] and [[FTP]] protocols. [[SCP]] and [[WebDAV]] protocols do not allow it. With [[S3]] protocol, transfer can be resumed only immediately by reconnecting a lost session, not later. | ||
- | ====== [[automático]] Currículo automático / Transferência para nome de arquivo temporário ===== O WinSCP é capaz de armazenar o arquivo sendo transferido para o nome de arquivo temporário primeiro, renomeando-o para o nome de destino apenas uma vez que a transferência terminar com sucesso. Razões para fazer isso: * Se a transferência for interrompida, na próxima tentativa (manual ou automática), o WinSCP poderá detectar automaticamente o arquivo parcial/temporário e oferecer-lhe a retomada da transferência (ou até mesmo retomar automaticamente). * Ao atualizar um arquivo existente, a versão original do arquivo existe durante toda a transferência. Isso é particularmente útil ao atualizar arquivos acessados com frequência em sites da Web. * Se o servidor executa um processo que escolhe automaticamente novos arquivos e os processa, ele poderá ser configurado para ignorar nomes distintos de arquivos temporários. Ele impede que o processo escolha um arquivo incompleto, enquanto é carregado. Consulte [[script_locking_files_while_uploading|locking arquivos durante o upload]]. Razões para não fazer isso: * Como o arquivo é carregado para um nome temporário, ele é tecnicamente um novo arquivo, mesmo que o arquivo com nome de destino já exista. Como tal: * depois que o arquivo original é excluído e o arquivo temporário é renomeado para o nome do arquivo original, você perde todos os atributos do arquivo original (como proprietário e grupo), exceto para permissões básicas;((Por este motivo, o WinSCP nunca transfere para nome de arquivo temporário primeiro, se o arquivo alvo for conhecido por ser proprietário por outro usuário. Observe que o nome do proprietário pode ser detectado com SFTP-4 e apenas mais recente.)) * embora você possa ter permissões para substituir o arquivo existente, você pode não ter permissões para criar um novo arquivo (temporário). Por razões de desempenho, a transferência para o nome do arquivo temporário é ativada por padrão para arquivos maiores que um determinado limite. O limiar é inicialmente de 100 KB. Você pode mudar o limiar. Você também pode habilitar o recurso para todos os arquivos, especialmente quando se procura alcançar o segundo impacto. Você também pode precisar desativar o recurso completamente, especialmente se você não tiver permissões necessárias (por exemplo, permissões para criar um novo arquivo no diretório de destino). Isso pode ser configurado em //[[ui_pref_resume| Página de resistência]]// de diálogo Preferências. Se sua transferência for interrompida, um arquivo parcial (com extensão ''.filepart') permanece na pasta de destino. Depois de tentar transferir o arquivo uma segunda vez, o WinSCP procura o arquivo parcial. Se ele encontrar um arquivo parcial, ele oferece a você a chance de retomar a transferência ([ui_pref_environment#confirmações|a confirmação pode ser desativada]]). Observe que os arquivos parciais podem ser distinguidos no painel de arquivos por especial [[ui_file_panel#special_files|" folha rasgada " ícone de sobreposição]]. Para configurar a transferência para o nome do arquivo temporário em [[scripting]], use o switch ''-resumesupport'' de comandos de transferência de arquivos. Em .NET, use ''[[library_transferoptions#resumesupport|·TransferOptions.resumesupport]''. A transferência para o nome de arquivo temporário é suportada com [[sftp| Protocolo SFTP]] apenas e somente para [[transfer_mode| transferências binárias]].· | + | ===== [[automatic]] 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. | ||
+ | ·* If the server runs a process that automatically picks new files and processes them, it can be configured to ignore distinct names of temporary files. It prevents the process from picking an incomplete file, while it's uploaded. See [[script_locking_files_while_uploading|locking files while uploading]]. | ||
+ | |||
+ | 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 lose all attributes of the original file (such as owner and group) except for basic permissions;((For this reason WinSCP never transfers to temporary file name first, if the target file is know to be owner by another user. Note that the owner name can be detected with SFTP-4 and newer only.)) | ||
+ | ···* 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 KB. 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 //[[ui_pref_resume|Endurance page]]// 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 ([[ui_pref_environment#confirmations|the confirmation can be disabled]]). | ||
+ | |||
+ | Note that partial files can be distinguished in file panel by special [[ui_file_panel#special_files|"torn sheet" overlay icon]]. | ||
+ | |||
+ | To configure transfer to temporary file name in [[scripting]], use ''-resumesupport'' ==switch== of file transfer commands (such as [[scriptcommand_put|''put'']], [[scriptcommand_get|''get'']], etc). In .NET assembly use ''[[library_transferoptions#resumesupport|TransferOptions.ResumeSupport]]''. | ||
+ | |||
+ | Transfer to temporary filename is supported with [[sftp|SFTP protocol]] only and only for [[transfer_mode|binary transfers]]. | ||
===== [[manual]] Manual Resume ===== | ===== [[manual]] Manual Resume ===== | ||
There's an alternative manual method to resume transfer, which can be used with FTP protocol. | 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 [[ui_overwrite|overwrite confirmation dialog]] displays a //Resume// command or an //Append// command (when appending is supported), in the drop·down menu of the //No// button. After you click //Append//, WinSCP opens another prompt that lets you append source file or resume your transfer. | + | If you attempt to transfer a file already in the target directory and the target file is smaller then the source file, the [[ui_overwrite|overwrite confirmation dialog]] displays a //Resume// command or an //Append// command (when appending is supported), in the drop-down menu of the //No// button. 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. | 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. |