FTP (File Transfer Protocol)

<< Click to Display Table of Contents >>

Navigation:  Using SyncBackPro > Expert Mode >

FTP (File Transfer Protocol)

 

SyncBackPro uses multiple modern FTP engines that take advantage of newer FTP standards and extensions, e.g. SFTP (sbpro-feature-16x16 Pro version only), FTPS, XCRC, XMD5, XSHA1, XSHA256, MODE Z transmission compression, UTF8, MFF, RMDA and AVBL and SSL/TLS transmission encryption. This increases performance and compatibility with FTP servers.

 

The FTP options are not available when the destination/right is using the cloud, email, Touch, scripting, etc.

 

This profile settings page can use and create shared settings.

 

 

warning

 

An alternative to using FTP is SyncBack Touch. Touch is far simpler to setup and configure and has none of the compatibility issues that you may get with FTP servers.

 

 

FTP Servers and File Dates and Times

 

When SyncBackPro transfers a file to an FTP server it will try and set the last modification date & time of the file so that it matches the date & time of the local file. However, many older or basic FTP servers simply do not provide the functions to perform this. There are standards for communicating with FTP servers, but not all FTP servers follow those standards, or they implement them incorrectly. There are also many FTP features which are optional, and one of those optional features is setting the last modification date & time of files on the FTP server. This is not a limitation of SyncBackPro, but of the FTP server.

 

SyncBackPro has an advanced FTP engine that will try several methods to set the last modification date & time of files on an FTP server:

 

1.If the server supports the MFF or MFMT extensions then those will be used (this does not apply to SFTP servers)

 

2.If the server supports the SITE UTIME extension then that will be used (this does not apply to SFTP servers)

 

3.If the server supports the MDTM extension then that will be used. Note that there are two forms of the MDTM extension: one to get a files date & time, and one to set a files date & time. Many FTP servers support retrieval of a files date & time, but fewer also support setting of a files date & time using MDTM. This does not apply to SFTP servers.

 

4.If the server supports none of the above then there are two options: have SyncBackPro change the date & time of the local files to match the date & time of the file on the FTP server (which will be the date & time the file was transferred to the FTP server), or change the profile to a Fast Backup profile. With a Fast Backup profile it will not set the date & time of the files on the FTP server, but it will avoid any problems with the dates & times being different.

 

SFTP servers only support one way to set a files date & time. However, some SFTP servers do not implement the feature, in which case see point 4 above.

 

 

FTP Servers and File Permissions

 

When SyncBackPro uploads a new file to an FTP server the FTP server itself sets the default file permissions for the file. Typically that is 0644, which means read & write for the file owner, read for the group and read for other users. The default new file permissions are an FTP server setting. Refer to your FTP servers documentation to change this.

 

warning

If you use safe-copy (which is the default) then SyncBackPro uploads files to a temporary file, which means they get the default file permissions from the FTP server. SyncBackPro then replaces the existing file with the temporary file. SyncBackPro will then set the file permissions to what they were previously (if they FTP server supports the CHMOD extension).

 

This takes time. Because of this it is recommended safe-copy is not used with FTP unless you need it, e.g. you are using versioning.

 

 

FTP Servers and Filenames

 

Windows has restrictions on which characters can be used in a filename. It does not allow filenames to contain the following characters: * ? : " < > |

 

However, some systems, e.g. UNIX, have no such restrictions on which characters can be used in a filename. Because of this, when FTP is used, by default SyncBackPro will automatically convert the filenames so that they are valid for the system they are on. For example, if a file is copied from FTP which has the filename This * is <> an example? then when copied to Windows it will have its filename changed to This %2A is %3C%3E an example%3F. When the same file is copied back to the FTP server it's name will be changed back to This * is <> an example?

 

You can switch off automatic filename translation on the FTP -> Advanced settings page.

 

The table below shows which characters are converted to and from which codes:

 

Original Characters

Code Used

:

%3A

*

%2A

?

%3F

"

%22

<

%3C

>

%3E

|

%7C

(trailing space)

%20

 

 

FTP Server Connection Details

 

Destination/right files are on an FTP server: If ticked, then the destination/right is an FTP server, i.e. you are backing up to or synchronizing with an FTP server. If the destination is an SFTP server, or an SFTP server (sbpro-feature-16x16 Pro version only), then enable the option This is an SFTP server below. If you are backing up files to a compressed Zip file on an FTP server then please read the Fast Backup section for tips on getting the best results.

 

Hostname: This is the hostname of the FTP server that has the destination directory on it, e.g. ftp.myserver.com. Variables can be used. Note that you must just use the hostname or IP address. Do not enter an URL, e.g. ftp://ftp.myserver.com/folder/

 

Enable IPV6 support: If you can only connect to your FTP server using IPV6 then enable this option, otherwise it is not recommended to enable it.

 

Username: Your server login username. Variables can be used. Note that typically usernames are case sensitive. If you do not enter a username then SyncBackPro will not login to the server. This may be required when using a proxy server. You can use a secret for the username.

 

Password: Your server login password. If you are using an SFTP server with key authentication (sbpro-feature-16x16 Pro version only) then you can leave this blank. If you prefer to be prompted for the password (see the next option) then this edit box is disabled. Note that typically passwords are case sensitive. You can use a secret for the password.

 

Prompt for the password when run (profile will fail if run unattended): If this option is enabled then every time the profile is run SyncBackPro will prompt you for the password. If the profile is being run unattended, then no prompt will be displayed and the profile run will fail.

 

FTP Engine: By default the WeOnlyDo engine is used. A number of different engines are available to provide maximum compatibility with the thousands of different FTP server implementations. Note that SmartFTP will be removed in future versions and is not available when creating new profiles.

 

This is an SFTP server (port 22): If the FTP server is an SFTP server then tick this checkbox.

 

warning

In many cases the root folder, or login folder, for an SFTP login is different from FTP. If you switch from SFTP to FTP, or vice-versa, it is strongly recommended that you check to make sure the directory is still valid. When using SFTP it is often the case that you have access to all the directories on the server, but with FTP it is typically the case that you only have access to a sub-directory that is pretending to be the root directory (for security reasons).

 

SFTP Private Key: If you are using an SFTP server (sbpro-feature-16x16 Pro version only) with key authentication then this is the filename of the private key file (do not use the public key file). Variables can be used in the filename. Note that SyncBackPro may have problems with keys created by some programs. For example, it may have problems with key files created using openSSH but not with PPK created using Putty. Please see the SFTP and Keys section below for more details. You can use a secret for the private key.

 

SFTP Private Key Password: If the private key file requires a password to be used then enter the private keys password here. You can use a secret for the password.

 

If the FTP server cannot set a files date & time then change the local files date & time to match that on the server: SyncBackPro will force the date & time of the file on the FTP server to match that of the file on your PC. If it cannot set the time of the file on the server, and this option is ticked, then it will change your local files date and time. However, if this option is not ticked (the default) then the date and time of the file on the FTP server is not changed and neither is the local files date & time. If the FTP server cannot set a files date & time, and you do not want to change your local files dates & times, then the solution is to use a Fast Backup profile.

 

Once all the appropriate FTP settings have been set, you can test them by clicking the Test FTP settings button. SyncBackPro will then attempt to connect and login to the FTP server with its progress being shown in the window below the button.

 

 

SFTP and Keys

 

There are two possible sets of keys used when connecting to an SFTP server:

 

1. If your SFTP server is configured to perform user validation using keys then you need to create a public and private key pair (using 3rd party software, e.g. Putty). You must upload the public key to the SFTP server and configure the SFTP server to use it. Check the documentation of your SFTP server for details. For your SyncBackPro profile you must set it to use the private key you created. The public key stays on the SFTP server and is not used by SyncBackPro (your SFTP server uses it).

 

2. To ensure you are connecting to the correct SFTP server then you can set the server host key in the profile. This is not the public key that you stored on the SFTP server and nor is it the public key that goes with your private key. It is the servers own public key. If you have the servers public key then you can load it directly into your SyncBackPro profile. If you do not have the servers public key (which is normally the case) then you can click the Test FTP settings button to get it. Whenever the profile is run it will check the SFTP servers public key to ensure it is connecting to the correct server. For reference, on UNIX based systems, the public key is usually located in the file /etc/ssh/ssh_host_rsa_key.pub. However, if you are sure you are connecting to the correct SFTP server then it is simpler and less error prone to click the Test FTP settings button to get it automatically.

 

 

All Content: 2BrightSparks Pte Ltd © 2003-2024