FTP Upload



This action is used to upload one or more files using the chosen connection.  Before running this action, you may want to use a FTP Change Directory action to change the remote directory.




Connection Name


Select the connection (see FTP Connect action.)



Local Directory


Specify the local directory where the files which you want to upload are located.



Filename or Filespec


If you are uploading a single file, then enter the filename here (without directory, as that is specified with Local Directory).  If you want to upload multiple files, then enter a filespec, eg. *.zip, or MyProject.*





If you specify a filespec, then setting the recursive option will find any matching files in any subdirectories of the Local Directory. The files will be placed into the correct subdirectories on the FTP server. Subdirectories on the server will be created if required.



Remote Filename


If you are uploading a single file, then you can change the name of the uploaded file on the server.



Check size of files uploaded


This option will attempt to check the size of the file uploaded against the size of the original file and fail if the size differs.  This option doesn't work with all FTP servers.



Detailed FTP Logging


Outputs the raw FTP commands and log messages to the log.



Maximum Upload Speed


You can choose a maximum speed in (in kilobytes per second) to throttle the upload. This allows you to conserve bandwidth for other applications.



Upload Timeout


You can set a maximum time for the upload to complete in:




The upload will be aborted, and the action will fail, if the transfer has not completed within this timeframe.



Update Options


The update options allow you to conserve bandwidth and time by only uploading files which have changed since the last upload:




Update Only


If you check this box, only files which differ from the versions on the server will be uploaded.


Local files will be uploaded if they:


Do not exist on the server,
Are a different size to the copy of the file on the server, or
Are newer than the copy of the file on the server.


Note that not all FTP Servers support this option. The FTP Server must be able to return reliable time/date and file size information in order to use the Update Only feature.



... Upload anyway if the file is less than...


This option allows you to "feather" the comparison times to ensure false-negatives do not occur. It is recommended this option is enabled to account for clock drift over time. For extra reliability, set it to a high value (eg 120 minutes.)



Server Clock Skew


The Server Clock Skew options allow you to compensate for differences between the timestamps reported by the server and the local date/time (for example, the local computer may think the time is 1430 UTC, while the server may report 1436 UTC.)


In cases where timezones are set incorrectly, or the FTP server does not use UTC, clock skew may be several hours.


It is generally recommended that you do not edit the clock skew value manually, but rely on the "Reset clock skew value after next upload" and "Update automatically after each upload" options to set it automatically.



Reset clock skew value after next upload


If this option is checked, the next file that the action uploads will never be skipped, even if it has not changed. The timestamp of that file will be used to set the clock skew value. This only happens once (the option is turned off after the clock skew value has been set.)


It is recommended that this option is set the first time the action is used, and any time there is a possibility that the FTP Server or local computer's timezone information might have changed.



Update automatically after each upload


If this option is checked, then each time a file is updated its timestamp is used to reset the clock skew value if it has changed. This helps overcome "clock drift" over time.