A simple SFTP synchronisation tool
Go to file
Thorsten Sommer a57f82a546 Updated
2017-07-02 13:53:45 +02:00
Sync Bugfix: Error while deleting remote dirs 2017-03-04 11:26:58 +01:00
.gitignore Added file type 2017-03-04 11:27:10 +01:00
CorrectPath.go Change of platform 2017-02-19 16:20:43 +01:00
LICENSE Change of platform 2017-02-19 16:20:43 +01:00
Main.go Added showHostKey function 2017-07-02 13:45:34 +02:00
ReadFlags.go Change of platform 2017-02-19 16:20:43 +01:00
README.md Updated 2017-07-02 13:53:45 +02:00
Variables.go Change of platform 2017-02-19 16:20:43 +01:00

Sync

This is a simple SFTP synchronisation tool without any external dependencies e.g. PuTTY, WinSCP, OpenSSH. Just download the executable which matches your OS and architecture (32 vs. 64 bits) and run it.

Syntax

Sync uses several parameters:

  • The localDir parameter defines the local directory e.g. c:\Users\A\My Documents or /users/A/My Documents. If you omit or set it to ., the current working directory gets used.
  • The remoteDir parameter sets the remote directory e.g. /users/A/Sync.
  • The server parameter is the SSH server e.g. my-server.com:22.
  • Use the user parameter to set the user's name and pwd to set the user's password. You can omit the pwd and the program ask for the password on demand.
  • The parameter supervised controls if the program should ask you for every type of change. The default is the supervised operating mode. In order to disable it, use supervised=false.
  • Finnaly, the pushOnly argument can be used to set the backup mode, where all remote changes are ignored, which is the default. In order to sync changes in both directions, use pushOnly=false.

Features

  • The whole code is open source and can be used for any purpose (also commercial)
  • If you want, you can compile the code by your own by using the Go
  • The program needs very low resources e.g. around 14 MB of memory on Microsoft Windows 10 to sync roughly 6,000 files. More files need more memory, because the meta information must keep in memory.
  • If a connection cannot set up, the program re-tries it.
  • At the moment, Sync uses only the password authentication methods. Therefore, it is currently not possible to use e.g. a certificate, etc. Nevertheless, the implementation of this feature is possible.
  • The configuration must be provided by using the command-line arguments. It is currently not possible to use e.g. a configuration file.
  • You can avoid the password argument if you prefer to provide the password on demand.
  • Sync can be used in backup mode where all remote changes are ignored or in the full mode, where both directions gets synchronized.
  • Use the supervised mode in order to get the full control about any change.

Download

Go and get the latest release from the release page. Sync use the SFTP library from Dave Cheney. Thanks very much for the great work!