GoodSync Manual
To be used with GoodSync ver 9.4.5 and higher.
Applies to both GoodSync for Windows and GoodSync for Mac, unless noted otherwise.
This manual is available in PDF for printing.
Contents
- Introduction
- Using GoodSync
- Synchronization Step By Step
- Jobs
- Synchronization Algorithm
- Backup Files Incrementally: One Way Sync
- Select Multiple Folders to Backup
- Mini Window vs Main Window
- Job List tab
- Actions
- Copy File Action
- Copy Time Action
- Copy Name Case Action
- Copy State Action
- Sync State Action
- No Copy Action
- Error Action
- Conflict Action
- Types of Conflicts
- Managing Time Shifts
- Icon Descriptions
- Advanced Topics
- Filters: Exclusions and Inclusions
- GoodSync Connect Advanced Topics
- Commands and Keyboard Shortcuts
- Job Commands
- Job Selection
- View/Hide Panel Commands
- Tree View Commands
- Action Commands
- Tools Commands
- Help Commands
- File Systems: Local and Remote
- Windows File System
- Mac File System
- Windows Net Shares (SMB)
- Apple Filing Protocol (AFP)
- GoodSync Connect
- FTP
- WebDAV
- Amazon S3
- Secure FTP (SSH)
- Google Drive (Docs)
- Windows Azure
- Amazon Cloud Drive
- SkyDrive
- Windows Mobile Phone and Pocket PC
- Job Options
- Global Program Options
- TIX: Readable Job Descriptors
- Command Line
- Policies
- Syncing Specific Applications
- GoodSync2Go: Portable version
- GSYNC: pure Command Line version
- GSCP: Command Line File System client
Introduction
GoodSync synchronizes two or more folders with files, that is, GoodSync makes sure that folders and all files in them are the same by copying the new or updated files from the folder where they appeared to the folder where they are old or not present and by propagating deletions.
GoodSync can be used in these everyday scenarios:
- Synchronize notebook computer to desktop computer via local network.
- Synchronize folders on two computers not on the same network, via Internet.
- Keep user files in sync on work and home computer via USB key.
- Incrementally Backup all files from main hard drive to portable hard drive or another computer.
In this Section we discuss challenges that synchronization programs face and that GoodSync successfully addresses.
Backup vs Synchronization
- Synchronization ensures that two folders remain in sync while user may change files on both sides. This is achieved by copying changes that have been made on the left side to the right side and changes that have been made on the right side are copied to the left side.
- Backup is one-way synchronization, that is, the changes that have been made on the left side are propagated to the right side but changes that have been made on the right side are not propagated to the left side.
- GoodSync One-Way Forced jobs enforce the backup scenario. One-Way Verified jobs actually make sure that no changes were made on the right (backup) side, as one does not expect backup side to change.
Why Synchronization Is Not Trivial
Synchronization task would appear to be trivial
(compare file modification files and let the newer file win)
if it was not for deletions that need to be propagated.
If you delete file on one side, GoodSync will propagate
this deletion to the other side of sync job
by deleting this file on the other side.
The sophistication of GoodSync algorithm allows us
to propagate deletions correctly through multiple chained folders.
Another complication is that user may decide
to replace newer version of the file with its older version.
GoodSync can handle this situation correctly too,
it will propagate the older file version,
if it detects that user made such replacement.
Chained Synchronization
Chained syncing is a process when the contents of several folders (e.g., A, B, C and D) are synchronized by performing synchronization of pairs in sequence that results in propagation of changes (e.g., sync A and B, then B and C, then C and D results in changes in A propagating to folder B, then C, then D). GoodSync can perform Chained Syncing correctly.
You can use GoodSync chains to synchronize files between Computers that are not connected to each other.
For instance, you can synchronize files between Work and Home computer using USB disk as an intermediary:
- Insert USB Disk (or any portable disk) into Work Computer.
- Start GoodSync on Work Computer and Sync between Work folder and USB disk.
- Pull out USB disk from Work Computer and insert it into Home Computer.
- Start GoodSync on Home Computer and Sync between USB disk and Home folder.
Embedded Jobs
Several jobs can synchronize one folder to many other folders. In addition to that, you can have yet more jobs that synchronize sub-folders or super-folders of this folder. GoodSync will correctly record file changes in states of all folders in which the changes occurred.
For example, you can have a folder C:\work\project that contains project whose files change often. Folder c:\work contains other projects that are changes less often.
You have a job 'Project to Server' which synchronizes project files to an SFTP server once a day and from this server the files are synchronized by other members of the team.
You also have a job 'Work to PortHD' which synchronizes (backs up) all contents of the C:\work files folder to a portable hard drive once a week.
GoodSync will make sure that all changes performed by the 'Project to Server' job are visible to the 'Work to PortHD' job and vice versa.
Using GoodSync
Synchronization Step By Step
Typical GoodSync user experience consists of these stages:
- Select Folders To Synchronize
- User selects left and right folders to synchronize.
- Done only once when Job is setup.
- Comparative Analysis
- Happens when you click the Analyze buttons.
- GoodSync computes the changes that must be made to make folders the same.
- Proposed Synchronization Actions Reviewed by User
- Results of Analysis are presented to you in a form of file/folder tree.
- Left or Right Arrows point direction of file copy. Circle in the middle means No Copy.
- Crossed Arrow means Propagate Deletion. For instance, Left to Right Crossed Arrow means that GoodSync detected deletion of file on the left side and it wants to propagate it to the right side.
- Current effective direction is indicated by arrow or circle being green and thick.
- Other possible directions are indicated by gray and disabled arrows or circle.
- You can change direction of sync by clicking on the desired arrow.
- Synchronization
- Happens when you click Sync button.
- File actions proposed in Analysis and possibly changed by user are applied to actual files.
- After synchronization folders and all files in them become the same.
Jobs
Each synchronized pair of folders is memorized in a Job.
Job also has a set of options that control various aspects of
synchronization process.
Each Job has a name that is requested when Job is created.
When you start GoodSync for the first time,
initial nameless job is created for you automatically.
GoodSync memorizes list of Jobs and all their parameters per computer.
Jobs can be created, deleted, renamed, analyzed and synced.
All job commands are in the Job menu.
- To create a new Job, select Job -> New.
- To switch between Jobs, click Job tab.
- Analyze, Sync, and Stop button are related to the current Job.
- To delete a Job, select Job -> Delete.
Synchronization Algorithm
This is a general outline of the synchronization algorithm (the actual algorithm is rather complex, it contains several important inventions and trade secrets that cannot be disclosed here):
- Compute difference between current file state and stored file state for the left folder,
- Compute difference between current file state and stored file state for the right folder,
- Propagate changes that appeared on the left to the right side,
- Propagate changes that appeared on the right to the left.
- If change happened to same file on both sides, declare a Conflict.
Backup Files Incrementally: One Way Sync
For GoodSync, backup is a regular synchronization that happens to be one-way. Only changed files and file deletions are propagated to backup folder. This is how you setup a backup:
- Create an empty backup destination folder. Backup destination folder must not be located on the same disk as source folder. It can be on removable disk (USB disk or portable hard drive) or another computer.
- Let GoodSync do the first backup by synchronizing backup source folder to backup destination folder.
- After that, whenever you want to backup, just sync backup source folder to backup destination folder.
- When you need to restore, backup destination folder contains exact copy of the backup source folder, as of last backup.
- To make sure that backup always goes one way (from original folder to backup folder and never in the other direction), go into Jobs -> Options and select One Way Job Type.
Select Multiple Folders to Backup or Sync (Windows only)
You can select multiple folders to backup or sync, starting with GoodSync ver 9.
Multiple folder selection is turned into Filters
that enforce copying only the selected folders.
So to understand what the result of your multiple-folder selection is,
look into what Sync Folders are and into Options -> Filters.
In the Browse dialog with Select Multiple Items checked you will see:
* Big green checkbox: means that folder has been Included, will appear in Include filters.
* Small green checkbox: means that folder is a child of Included folder, does not appear in Filters.
* Red X: means that folder has been excluded, will appear in Exclude filters.
Changing of sync folders is the biggest source of problems
when using multi-select for folder.
So the recommended approach to selecting multiple folders avoids changing of sync folders:
* (1) Decide what are the root sync folders on left and right side of the job.
All folders that you include or exclude shall be within these sync folders.
Create a job and set the decided sync folders in default single-choice mode.
* (2) Now check Select Multiple Items checbox in Browse dialog
and check/uncheck folders inside the sync folders that you chose in the previous step.
Note that you cannot have folders from different disks in one job, because it would force their common parent to be above the disk level.
Mini Window vs Main Window (Windows only)
Main Window contains the User Interface displayed to the user.
It contains:
- File Tree: this is where modified files and their sync directions are shown.
- Log Window (bottom of the screen): log of job actions.
- Job List pane (hidden by default): displays status of all jobs. To show, go to View -> Job List.
- Filters tab (hidden by default): displays Exclude/Include filter. To show, go to View ->Filters.
Mini-Window or Mini-Mode is super-compressed summary of what is going on in GoodSync.
- It shows only status of all running jobs.
- Click Mini Mode button to switch from Main Window to Mini Window.
- Click Maximize button in Mini Window to switch back to Main Window.
Job List: How to arrange and group jobs
Select 'View -> Job List' and Job List will be shown.
For each job GoodSync shows these columns in Job List:
- Job Status: stopped, analyzing, syncing, in sync.
- Job Name
- Last Run Time
- Auto Mode: if not empty, list how job can be auto-started.
- Left Folder
- Right Folder
You can sort by any of these columns by clicking on the column header. Sorting can be done in ascending or descending order.
Sorting by Left/Right folders will allow you to group files by Source (Left) or Destination (Right) folder, so you can easily see what jobs do you have working with a particular folder.
In the initial unsorted mode you can also drag and drop jobs to change their natural unsorted order.
Actions
Action is a file/folder operation that is:
- Recommended by GoodSync after Analysis is complete,
- Changed by User (that is, you), and finally
- Executed when you click the Sync button.
Each actions gets an icon in the center 3 columns of the tree.
See the next Chapter for the detailed list of actions' icons.
Copy File action
This is the most fundamental action of GoodSync.
It copies file from Left to Right or from Right to Left.
Copy of file deleted on the Left from Left to Right means that this file will be deleted on the Right.
Copy of file deleted on the Right from Right to Left means that this file will be deleted on the Left.
That is, GoodSync "copy" of the deleted file simply propagates a deletion.
Copy Time action
If file has the same length on the left and right side of the sync
but modification time is not the same then you can turn
Copy File action offered by GoodSync into a Copy Time action.
Copy Time action copies file modification time from Left to Right
or from Right to Left, but not file contents.
A recommended way of applying it is to select View -> Other -> SameLength DiffTime.
This will show you all files that have the same length but different file time.
If you think that these files are really the same,
right-click any of the files and select Copy Time L to R or R to L.
You can also right-click the folder and change Copy File into
Copy Time for all eligible files in the folder.
Copy Name Case action
If files on the left and right differ only by case of file names then this action is used to propagate name case change.
Copy State action
If file is present on the left side and absent on the right side of the sync (or vice versa) or if file is deleted on both side and this is not yet recorded in the state then GoodSync would recommend a special Copy State L to R or R to L action for such files.
The results of the Analyze step will inform you that Copy State will be done, if this is necessary.
You can change direction of Copy State action if you know which side is preferred.
You can see specific Copy State action using View -> Other -> Copy State L to R or R to L.
The following are the potential causes of the CopyState situation described above:
- You synchronized two folders using programs other than GoodSync.
- You deleted file on one side manually and it was deleted on another side already.
- You did Delete State in GoodSync.
Sync State action
If file is the same on the left and right side of the sync but the stored state of the file is not the same then GoodSync would recommend a special Sync State action for such files.
The results of the Analyze step will inform you that Sync State will be done, if this is necessary.
You cannot change direction of Sync State action, as it is not directional action.
The following are the potential causes of the CopyState situation described above:
- You synchronized two folders using programs other than GoodSync.
- You copied files manually.
- You did Delete State in GoodSync.
No Copy action
This action tells GoodSync not to do anything for this pair of files, because files are the same on both sides.
Error action
The file or folder cannot be read, see status area for details.
Conflict action
If you changed the file on both sides of the synchronized folder pair then GoodSync cannot determine which version is preferred (because it does not know which set of changes should win and which should be dropped) and GoodSync then declares a conflict.
By default, conflict is a no-copy action. But you can change conflict into LeftToRight or RightToLeft Copy, thus declaring one side a winner.
Types of Conflicts
GoodSync may produce these types of conflicts:
- Modified On Both Sides.
Description: File was modified or deleted by user both on the left and right side.
Type: resolvable conflict, user may select sync direction.
- Vertical Delete - Change Conflict.
Description: User deleted folder on the left (right) and modified or deleted files in this folder on the right (left).
Type: resolvable conflict, user may select sync direction. - Case Conflict.
Description: items (files or folders) on one side differ only by case.
Type: un-resolvable conflict, user must correct the problem.
Managing Time Shifts
FAT file system still used in Windows and some FTP servers have these problems:
- Local file modification time is stored, so moving between time zones makes your file modification shift.
- Modification time is stored with only 2 sec precision in FAT, so copying a file to FAT may give it a slightly different modification time. GoodSync ignores differences of +- 2 sec in modification time.
GoodSync recognizes two types of Time Shifts:
- Old-New Time Shift: Current file modification time differs from stored modification time by whole number of hours for a considerable number of files. Corrected by storing new modification time on the next Sync.
- Left-Right Time Shift: File on the Left and Right have a whole hour difference in modification time for a considerable number of files. This time shift is turned into Copy Time action.
Icon Descriptions
Advanced Topics
Portable Paths
You can specify a portable path in the left or right sync folder like so:
=VolumeName:\folder1\folder2
Here VolumeName is volume label that you can set in volume properties in the Windows Explorer.
If path is specified in the portable format, GoodSync will look for a volume named
VolumeName in all portable (removable) drives attached to this computer.
So if this volume gets a different drive letter next time you insert it,
GoodSync will still be able to find it.
When you select a folder on a removable drive in the Browse dialog,
GoodSync will offer to record path to this folder in the portable path format.
When you select a folder on GoodSync2Go folder from which you started GoodSync2Go,
drive letter will be automatically replaced with %GSDISK%.
So no matter what computer plug in your removable drive into and
no matter what letter you drive gets, GoodSync2Go will find
its sync folders, as they will be on %GSDISK% drive.
Related topics:
* Computer Specific Paths are used to refer to a path that is valid only for one computer.
* %GSDISK% can be used in Scripts tab program, then the program is run from the GS2Go disk.
Environment Variables in Paths
You can use any Windows environment variable in folder paths, inserted like so: %VARIABLE%
Environment variable can be put in only by directly editing the folder path, not via Browse dialog.
Popular environment variables are:
%GSDISK% -- disk from which GoodSync.exe was started such as C: or F: .
Use this to refer to folders stored on GoodSync2Go volume, in Portable version.
%USERNAME% -- current window user name
%USERPROFILE% -- current user profile directory.
%COMPUTERNAME% -- windows name of this computer.
Also GoodSync substitutes these special variables:
%YYYY% -- current year.
%MM% -- current month, from 01 to 12.
%DD% -- current day of the month, from 01 to 31.
%DOW% -- current day of the week, from 1 to 7.
%WOM% -- current week of the month, from 1 to 4.
%HH% -- current hour, from 00 to 23.
%II% -- current minute, from 00 to 59.
Case Sensitivity
GoodSync file and folder tree is case-insensitive, that is,
for GoodSync path Folder\File.txt points to the same item as path FOLDER\file.TXT.
But GoodSync is case-preserving, that is,
if you change file (or folder) name from FilE.txt to fILe.txt on one side,
GoodSync will propagate it to the other side.
These design choices reflect realities of the modern operating systems:
- In Windows both NTFS and FAT32 are case-insensitive and case-preserving.
- In MacOS default file system is case-insensitive and case-preserving.
- Some UNIX file systems and FTP/SFTP servers based on them are case-sensitive, indeed.
But if we want to be able to sync case-insensitive Windows and MacOS file systems to them,
our tree must remain case-insensitive.
Job Templates (Windows only)
Job Template is an incomplete Job, usually with right folder not set. It is used to save your favorite set of Job options as a Template, so that other Jobs can be easily created from it.
To create a Template from a Job, go to this Jobs and select Job -> Save as Template.
To create a new job from a saved template, select Job -> New.
In the New Job dialog, select From Template option. Then select the template from which Job should be created.
Filters: Exclusions and Inclusions
By default GoodSync synchronizes all files and folders that are not hidden and not system.
Hidden and system files can be synchronized too, if option to exclude them is turned off.
Exclude Filter
You may want to exclude some files and folders from synchronization by using Exclude filter.
For instance, object files *.OBJ and editor backup files *.BAK are usually excluded.
The easiest way to exclude the file or group of files is to perform Analyze and then right-click the file or folder and select one of the Exclusion commands:
- Exclude '/FolderName/FileName' file or folder:
Exclude only this file or folder, as specified by its complete path '/FolderName/FileName'. - Exclude All 'ItemName' files or folders:
Exclude all files or folders (in any of subfolders) that are named 'ItemName'. - Exclude All '*.ext' files:
Exclude all files that have extension 'ext', in all sub-folders.
Exclusion command adds a line to the list of exclusions in Jobs -> Options -> Filters -> Excluded.
This tab is the only place where you can modify or delete exclusions.
For details see this tab description in Job -> Options -> Filters.
Global exclusions that apply to all jobs can be set in
Tools -> Program Options -> Filters.
(1) Line that starts with "/" matches file or folder path (which is relative to the sync folder).
Exact match is required, no '*' or '/' expansion characters are allowed.
Addition of '/' or '/*' to the string does not change the match results.
Examples:
/folder1/file2.ext -- matches file2.ext in folder /folder1,
/folder1 -- matches folder /folder1 and all files and folder contained in it.
/folder1/ or /folder1/* -- still matches folder /folder1 and all files and folder in it.
(2) Line that starts with "path " matches file or folder path (relative to sync folder)
to wildcard match string in which:
* means any sequence of characters except /
? means an arbitrary single character
/ separates folders
Examples:
path /folder1/file2.ext -- matches file by its path,
path /Al* -- matches top level folders that start with Al
(3) Line that starts with "name " matches file or folder name (last member of the path)
to wildcard match string in which:
* means any sequence of characters except /
? means an arbitrary single character
/ is not allowed
Examples:
name *.xls -- Excel files,
name *.bak -- backup files of text editor,
name *kiss* -- files that contain "kiss" in their name
(4) Lines that start with "any size" or "all size" allow exclusion of files by file size:
any size<N
means size.left<N OR size.right<N
all size<N
means size.left<N AND size.right<N
any size>N
means size.left>N OR size.right>N
all size>N
means size.left>N AND size.right>N
any size=N
means size.left=N OR size.right=N
all size=N
means size.left=N AND size.right=N
any size!=N
means size.left!=N OR size.right!=N
all size!=N
means size.left!=N AND size.right!=N
any size>=N
means size.left>=N OR size.right>=N
all size>=N
means size.left>=N AND size.right>=N
any size<=N
means size.left<=N OR size.right<=N
all size<=N
means size.left<=N AND size.right<=N
any size[S1,S2]
means S1 <= size.left < S2 OR S1 <= size.right < S2
all size[S1,S2]
means S1 <= size.left < S2 AND S1 <= size.right < S2
where N is a number, possibly with K (Kilo) or M (Mega) suffix.
No spaces is allowed in the "size" match line.
Examples:
all size>=100 -- files on both sides contain 100 bytes or more
any size<2K -- files that contain less than 2,048 (1K = 1024) bytes on either left or right side
all size=3M -- files that contain exactly 3,145,728 bytes (1M = 1024 * 1024) bytes on both sides
(5) Lines that start with "any time" or "all time" allow exclusion of files by modification date:
any time<T
means time.left<T OR time.right<T
all time<T
means time.left<T AND time.right<T
any time>T
means time.left>T OR time.right>T
all time>T
means time.left>T AND time.right>T
any time=T
means time.left=T OR time.right=T
all time=T
means time.left=T AND time.right=T
any time!=T
means time.left!=T OR time.right!=T
all time!=T
means time.left!=T AND time.right!=T
any time>=T
means time.left>=T OR time.right>=T
all time>=T
means time.left>=T AND time.right>=T
any time<=T
means time.left<=T OR time.right<=T
all time<=T
means time.left<=T AND time.right<=T
any time[S1,S2]
means S1 <= time.left < S2 OR S1 <= time.right < S2
all time[S1,S2]
means S1 <= time.left < S2 AND S1 <= time.right < S2
Where T is date in one of these formats:
YYYY/MM/DD -- year/month/day
-Nd -- N days ago
+Nd -- N days in the future
No spaces is allowed in the "time" match line.
Examples:
any time>=2008/7/4 -- files modified at 00:00 on July 4, 2008 or later on either side
all time<-5d -- files older than 5 days ago on both sides
time>=+7d -- files modified 7 days in the future or later on either side
(6) Lines that start with "is" match file and folder attributes:
isfolder or <subfolder>
matches a folder
isfile
matches a file
issymlink
matches symbolic link or junction
ishidden
matches files and folders with hidden attribute
issystem
matches files and folders with system attribute (Windows only)
isarchive
matches files and folders with archive attribute (Windows only)
isreadonly
matches files and folders with readonly attribute (Windows only)
isoffline
matches files and folders with offline attribute (Windows only)
iscompressed
matches files and folders with compressed attribute (Windows only)
isencrypted
matches files and folders with encrypted attribute (Windows only)
By default GoodSync excludes hidden and system files and folders, because these files are not user files and usually they are not worth backing up or syncing. If you want GoodSync to see these files, uncheck "Exclude Hidden Files" and "Exclude System Files" in Job -> Options -> Filters.
(7) Lines that start with "exist" match facts of presence and absence of file and folders.
existboth
file or folder exists both on left and right side
existone
file or folder exists only on one side
(8) Lines that do not have any of the above prefixes are interpreted as file names if they do not contain '/' and as file paths if they contain '/'.
Exclude Composition. There is an implicit OR between lines of the Exclude filter.
Each line can contain more than one clause separated by semicolon ";".
There is an implicit AND between clauses in the exclude line.
Example: filter
ishidden; name *.bak; all time <-60d
all size<1k
matches hidden files that have .bak extension that are older than 60 days on both sides or
files whose size on both sides is less than 1024 bytes.
Any and All qualifiers.
File modification times may be different on Left and Right, then
you have to use "any" or "all" qualifier to get the desired result.
Example: exclude filter 'time<-30d' is true for all files
where 'left time < tNow - 30d OR right time < tNow - 30d'.
So if you want to exclude all files older than 30 days (on both sides that is),
you should use exclude line 'all time<-30d' which is
the same as 'left time < tNow - 30d AND right time < tNow - 30d'.
Include Filter
Include Filter includes only files and folders specified in it and it excludes everything else.
Include Filter is applied before the Exclude Filter.
Include Filter is set in Jobs -> Options -> Filters -> Include.
These are the popular Include filters and context menu items that add them:
* Include Only '/FolderName/FileName' file or folder.
Include only this file or folder, as specified by its complete path '/FolderName/FileName'.
You can select several files and folders (multi-select is done by
clicking items while holding CTRL key) and then they all will be added to the Include list.
* Include Only '*.ext' files.
Include only files that have extension 'ext', in all sub-folders.
Note that if an *.ext line is present in the Include filter then all folders that contains such files are included too,
because GoodSync must include a folder if it includes a file within this folder.
Special "size" and "time" matches work in the Include filters too.
Include Composition. There is an implicit OR between lines of Include filter.
Each line can contain more than one clause separated by semicolon ";".
There is an implicit AND between clauses in the line.
If both Exclude and Include filters are specified then the Include filter is used first, then Exclude filter is applied to the Include results.
More specifically, Exclude Filter of
ExcludeLine1
ExcludeLine2
ExcludeLine3
and Include Filter of
IncludeLine1
IncludeLine2
IncludeLine3
computes as
( IncludeLine1 OR IncludeLine2 OR IncludeLine3 ) AND
NOT ( ExcludeLine1 OR ExcludeLine2 OR ExcludeLine3 )
GoodSync Connect Advanced Topics
This section discusses advanced topics related to GoodSync Connect.
The starter GoodSync Connect manual is located at GoodSync Connect page.
GoodSync Server Components
GSTP File Server
GSTP File Server is the main component of GoodSync Server that serves files to GSTP clients.
It usually runs on TCP port 33333, but you can change it.
URL Construction Rules
The URL of a file or folder inside the GSTP server has to have one of these formats:
gstp[s]://gstp-server/prefix://remote-server/folder1/file
gstp-server is usually ComputerId.UserId.goodsync (Mediated Addressing).
gstp-server can also be a symbolic or numeric IP address (gstp-server.my-company.com, 11.22.33.44).
prefix can be 'file' or 'smb' or the prefix of any file system available on the GS server.
remote-server is a server visible from the GS server using protocol 'prefix://'.
Typical GSTP URLs are:
gstp://worker.test-user.goodsync/file:///c:/mystuff
--- folder c:\mystuff on GS server 'worker' of GS Connect user 'test-user'.
Note that remote-server here is empty as this folder is located on 'this computer', relative to GSTP server 'worker'.
gstps://worker.test-user.goodsync/smb://MYSERVER/MYSHARE/my-folder
--- folder my-folder on share MYSHARE of SMB server MYSERVER that
sits on the local network of GSTP server 'worker' of GS Connect user test-user.
gstps://worker.test-user.goodsync/home://S0/my-folder
--- Remote GSTP server of GS Connect user test-user
has Home File System and this URL points to folder 'my-folder' of server S0 of this file system.
User of GSTP server who is connected to this file system does not see how this file system is implemented,
as Home File System is a translator that does not reveal internal details of what it is serving.
Impersonation
If you specify the Windows/Mac System account ID and password for a GoodSync server user,
the GoodSync Server will impersonate this Windows user,
enabling you to access all SMB shares and other resources, that would be available to you when logged in on that computer.
Home File System
Any GSTP user may be assigned a Home File System.
Home File System usually has one server S0.
It points to some folder on one of internal file systems available on GSTP server.
But user of GSTP server does not know to which folder Home File System connects,
nor can he see above this folder, as it translates to root folder of Home File System.
Administrator of GSTP server (primary user) is the only one
who can view or change folder to which Home File System points, using GSTP Server Web UI config.
Global Discovery
Global Discovery Service registers this GoodSync Server with the GoodSync Mediator, so that this server may be located by GoodSync clients, if it does not have a static IP address.
GoodSync connects to the Mediator server on port 33000.
Using UPNP to open ports
GoodSync Server will use the UPNP service of your router or DSL/cable modem to create a tunnel from the external port of the router to the internal TCP port 33333 of your computer.
You can create this tunnel yourself if UPNP is turned off or not available, and then notify GoodSync server about its external port using its Web UI at http://localhost:4444.
Local Discovery
The Local Discovery service makes a GS server discoverable on a local network, enabling the GoodSync client to find a GS Server on a local network even without a Mediator.
It answers to GS client broadcast UDP packets on port 33338 and sends replies on port 33339.
So GoodSync client can find GS server on local network even without Mediator.
Note that Local Discovery kicks in only when GoodSync client cannot connect to Mediator. If connection to Mediator is available, GoodSync will only go thru it, meaning that your other computers also should register with Mediator.
WebDAV Server
GoodSync Server can also serve any file system available in GoodSync via its WebDAV Server.
You can mount a GoodSync URL to a folder in the DAV server, and therefore as a Windows Networks Disk by right-clicking it in GoodSync Explorer and selecting 'Mount'.
GoodSync WebDAV server runs on port 22222 on Windows 7 and Vista, or port 80 on Windows XP.
Users: Primary (Admin) and Secondary (Limited)
GSTP server requires authentication based on user accounts.
Basic and Digest authentication protocols are available.
When you setup GoodSync Server, as a part of GoodSync or GoodSync Explorer installation.
you will be requested to setup GoodSync Connect Account.
This account will also be the Primary (Admin) user on your GoodSync Server.
Only the Windows Administrator or Mac SuperUser can install GoodSync Server and create or change the UserID and Password for the main user, for security purposes.
The Primary (Admin) user may create Secondary (Limited) users by:
- Connecting to the Web User Interface of GS Server at http://localhost:4444 and
adding new users from the Users tab there.
- Connecting to the Manage API of GS server at http://localhost:22222 and
issuing a AddUser transaction. This is for programmatic user creation.
- Adding a user directly to GS server with SQL database user storage.
A Secondary (Limited) user typically is limited to accessing only one folder and its subfolders,
which is called the Home Folder of this user.
Any attempt to go above the Home Folder will be rejected by the GS server.
URL of file in Home Folder of Secondary user looks like:
gstp://server.user.goodsync/home:///main/folder1/folder2
Here home:// is a prefix of Home File System that translates
accesses from its root folder and subfolders to
Home Folder of the secondary user.
A Users Database may come from one of 3 sources:
- users.tix file in GS server profiles folder,
- HtPass style files in user home folder,
- SQL database.
Manage API server
Note: this is onlly for advanced users, everybofy else should skip this section.
GoodSync Server runs a Manage API server on port 33334.
This Manage API is used to control the server programmatically, by the GoodSync UI and other applications.
For security reasons, the Primary (Admin) user cannot be changed, created or deleted via Manage API.
But you can create, modify or delete Secondary (Limited) users.
Manage API commands are standard HTTP transactions:
- Verb is always "Manage".
- URI is always "/".
- Arguments are specified in HTTP headers.
- Manage method is taken from the "Manage-Method" header.
These methods are available:
* GetStatus: return status of the server.
* AddUser: add new user with parameters from headers:
userid -- New User ID.
password -- New User Password
home-path -- User Home Folder path in URL format, such as file:///c:/folder
impersonate -- if "1" then impersonate server system user sys-userid using password sys-user-pwd.
sys-userid -- Windows/Mac User Account ID, used for impersonation.
sys-user-pwd -- Windows/Mac User Account Password, used for impersonation.
register-mediator -- if "1" then register this user with Mediator.
protect-system -- if "1" then this user refuses to write to Windows system folders.
read-only -- if "1" then this user can only list and read files but not write and create them.
* UpdateUser: modify existing user, same parameters as in AddUser.
Cannot modify Admin User this way.
* DeleteUser: delete existing user, parameters from headers:
userid -- User ID to delete.
Cannot delete Admin User this way.
This is an example of a user creation HTTP request:
Commands and Keyboard Shortcuts
This describes GoodSync commands that can be started by clicking buttons and selecting menu items.
Job commands
Job -> New Alt+N
Create New Job.
First job is created automatically when you start GoodSync for the first time.
GoodSync asks user to create the first job.
Job -> Delete Alt+D
Delete this Job.
Job -> Rename...
Rename this Job.
Job -> Clone... Alt+C
Clone this Job.
That is, create a new job with a different name that is a copy of this job.
Job -> Swap Job Sides
Swap Left and Right folder in this Job.
Job -> Save as Template
Save this job as a template.
Templates can be used when creating a New Job.
Analyze button or Job -> Analyze Alt+A F5
Analyze this Job.
Show proposed changes.
Files are considered to be the same if their size and modification time are the same.
Job -> Analyze: Compare MD5s Alt+M
Analyze: Compare MD5s
Files are considered to be the same if their MD5 checksums are the same.
File Systems on left and right must support MD5 computation for this to work.
Job -> Analyze: Compare Bodies Alt+B
Analyze: Compare Bodies
Files are considered to be the same if their bodies are the same.
Files from remote file systems will be downloaded, so this will run slowly.
Job -> Analyze All F6
Analyze all Jobs.
Sync button or Job -> Synchronize Alt+S F7
Synchronize this Job.
Execute (commit) changes that Analyze has proposed.
Job -> Synchronize All F8
Synchronize all analyzed Jobs.
Job -> Analyze and Synchronize Alt+Y F9
Analyze and then Sync this job.
Job -> Analyze and Sync All F10
For all jobs: Analyze and then Sync each job.
Stop button or Job -> Stop Alt+T ESC
Stop analysis or synchronization of this Job.
Also cancel ready-to-run status for other jobs.
Sync can be continued after Stop.
Job -> Stop All
Stop analysis or synchronization for all jobs that are running.
Job -> Disable Auto Run
Temporarily disable starting of jobs by Auto options.
While this checkbox is enabled, jobs will not be started by Auto Options.
Jobs that have been started already, will continue to run.
Pause / Resume button
Pause / Resume analysis or synchronization of this Job.
Job -> List of Changes Alt+I
Show printable list of changes.
Works after Analyze, when changes become available.
Job -> Open Left Log File Alt+L
Open log file for the Left folder of this job.
Logs records all actions that all GoodSync jobs have done to this folder and its sub-folders.
Job -> Open Right Log File Alt+R
Open log file for the Right folder of this job.
Logs records all actions that all GoodSync jobs have done to this folder and its sub-folders.
Job -> Options Alt+O
Show Options dialog for this Job.
Job -> Delete Recycled & History Folders
Delete recycled files located in folder _gsdata_\_saved_ and
history files located in folder _gsdata_\_history_ .
Job -> Delete State Files
Delete GoodSync state files on both sides of this Job.
Causes GoodSync to forget state and history info that GoodSync collected on files in sync folders,
such as the fact that which files were deleted and when.
Job -> Delete _gsdata_ Folders
Delete GoodSync _gsdata_ folder and all files contained in them on both sides of this Job.
Removes everything removed by 'Delete Recycled & History Folders' and 'Delete State Files',
plus all job log files.
Job -> Exit Alt+X Alt+F4
Exit GoodSync.
Job Selection
Click Tab Alt+1 to Alt+9
Select another job, make it current (referred to as This Job).
Most commands in Job and Tree menu apply to the current job.
View/Hide Panels commands
View -> Full Mode
View full GoodSync user interface.
Default view.
View -> Mini Mode
View GoodSync in Mini Mode.
A small window is shown that displays status of active jobs.
View -> Tray Icon
GoodSync is represented only by system tray icon on desktop.
This mode is used for background operations.
View -> Job List
Show/Hide Job List pane.
This pane shows time when the job last ran and current status of the job.
Not shown by default.
View -> Filters
Show/Hide Filters pane.
It shows all Exclude and Include filters for this Job.
Not shown by default.
View -> Log
Show/Hide Log pane.
It shows automatically scrolled log for this Job.
Shown by default.
View -> Status Bar
Show/Hide Status Bar.
Shown by default.
Tree View commands
All button or View -> All
Show All live files and folders,
that is, items not deleted on both sides.
Changes button or View -> Changes Alt+G
Show Changes, that is, only files and folders that are different
and to which Copy File command will be applied.
Conflicts button or View -> Conflicts Alt+F
Show Conflicts, that is, files that were changed on both sides of the Job.
Errors button or View -> Errors Alt+E
Show Errors that occurred during Analyze or Sync.
Errors are not conflicts, they are usually originated by file system.
Example: file is locked, cannot drill into folder.
Other -> Included or View -> Other -> Included
Show files and folders that are include in the Analyze.
That is, not excluded by Exclude/Include filters.
Other -> Excluded or View -> Other -> Excluded
Show files and folders that are excluded by Exclude/Include filter.
Other -> New or View -> Other -> New
Show New files and folders.
That is, files and folders that exist on one side and do not exist on the other side and
copy action will copy them to this other side.
Other -> Overwrite or View -> Other -> Overwrite
Show files that will be Overwritten.
That is, files that exist on both sides and copy action will copy file from one side to another.
Other -> Delete or View -> Other -> Delete
Show files and folder that will be Deleted.
That is, files and folders that exist on one side and do not exist on the other side and
copy action will delete them on this other side.
Other -> Left to Right or View -> Other -> Left to Right
Show files that will be copied from Left to Right by Copy File action.
Other -> Right to Left or View -> Other -> Right to Left
Show files that will be copied from Right to Left by Copy File action.
Other -> Copy Time L to R or View -> Other -> Copy Time L to R
Show files that whose modification time will be copied from Left to Right by Copy Time action.
Other -> Copy Time R to L or View -> Other -> Copy Time R to L
Show files that whose modification time will be copied from Right to Left by Copy Time action.
Other -> Copy State L to R or View -> Other -> Copy State L to R
Show files that whose state will be copied from Left to Right by Copy State action.
Other -> Copy State R to L or View -> Other -> Copy State R to L
Show files that whose state will be copied from Right to Left by Copy State action.
Other -> Sync State or View -> Other -> Sync State
Show files that whose states will be synced without copying files themselves.
Other -> SameLength DiffTime or View -> Other -> SameLength DiffTime
Show files that exist on both sides, have the same length but different modification time.
These are candidates for Copy Time action, if you believe that files are actually the same.
Other -> All Live + Dead or View -> Other -> AllLive + Dead
Show both existing files and files that were previously deleted.
Tree Expand commands
These commands are available through keyboard shortcuts and are standard for Windows trees.
Gray '+' means '+' key on the numeric side keyboard.
Gray +
Open one level of the tree.
Focus must be on the node to open.
Gray -
Close one level of the tree.
Focus must be on the node to close.
Gray *
Open all levels of the tree starting from here.
Focus must be on the node to open.
Action commands
All Action commands are also available from file or folder context menu.
Action -> Open Left File / Folder
Open file on the Left using Windows Explorer (Shell).
If GoodSync Explorer is installed, then use it to open remote folders.
Action -> Open Right File / Folder
Open file on the Right using Windows Explorer (Shell).
If GoodSync Explorer is installed, then use it to open remote folders.
Action -> Delete Left File / Folder
Delete file (or folder, if selected) on the Left.
Action -> Delete Right File / Folder
Delete file (or folder, if selected) on the Right.
Action -> Delete Both Files / Folders
Delete file (or folder) on the Left and on the Right.
Action -> Compare Left to Right
Compare file on the Left to file on the Right
using compare diff-like program
defined in Tools -> Program Options -> File Compare program.
Action -> Exclude '/...' File / Folder
Exclude this file or folder from Analyze results.
File or folder will be excluded by its exact path.
Action -> Exclude All '...' Files / Folders
Exclude all files (or folders) that have the same name as this file (folder),
no matter in what folders inside sync folders these files are located.
Action -> Exclude All '*.ext' Files
Exclude all files that have extension .ext, in all folders inside sync folder.
Action -> Include '/...' File / Folder
Include this file or folder into Analyze results.
File or folder will be included by its exact path.
If one or more Include filters are defined then
only files and folders that are Included in this way will be Analyzed, everything else will be excluded.
Action -> Include All '*.ext' Files
Include only files that have extension .ext, in all folders inside sync folder.
Action -> As Recommended
Set action to what was recommended by Analyze.
Enabled only after you modified actions proposed by Analyze.
Action -> Left to Right
Set action to Copy File Left to Right.
Action -> Right to Left
Set action to Copy File Right to Left.
Action -> Do Not Copy
Set action to No Copy.
Action -> Copy Time Left to Right
Set action to Copy Time Left to Right.
Action -> Copy Time Right to Left
Set action to Copy Time Right to Left.
Action -> Copy State Left to Right
Set action to Copy State Left to Right.
Action -> Copy State Right to Left
Set action to Copy State Right to Left.
Action -> Log Item Details
Show file / folder detailed information in log window.
It show why GoodSync made a sync decision for this file.
Tools commands
Tools -> Program Options
Show Global Program Options dialog.
Tools -> Export Job List
Export job list (all jobs, or only jobs selected in Job List pane) to a *.TIX file.
TIX file comes in a text-based format which is used for export and import, it also can be edited.
Tools -> Export One Job
Export the current job to a *.TIX file.
Tools -> Import Job List
Import job list from a *.TIX file produced by Export command.
Imported jobs are added to the existing jobs.
If imported job has the same name as existing job, import of this job fails.
Tools -> Import from V4
Import jobs from GoodSync ver 4 or earlier.
Help commands
Help -> Manual
Show this Online Manual from www.goodsync.com.
Help -> FAQ
Show Online Frequently Asked Questions from www.goodsync.com.
Help -> Buy Pro
Buy GoodSync Pro version from www.goodsync.com.
Help -> Activate Pro
Activate GoodSync Pro after you purchased it.
You will need Order ID and your name as it appears in the Order.
Help -> Create Support Ticket
Creates ZIP file that contains job logs and other technical information.
Uploads this file to GoodSync support server and creates support ticket.
Help -> Check for Updates
Check for new GoodSync version at www.goodsync.com.
GoodSync also automatically checks for its new version upon start.
Help -> About...
Show About dialog with credits and version info.
File Systems: Local and Remote
GoodSync can synchronize not only disk and net shares mounted on your computer. It can also synchronize with Remote File Systems (FS) accessible through these protocols: FTP, Secure FTP (SSH), WebDAV.
To select or change your sync folder, click Browse button on the left or right side of Sync.
The Browse File System dialog appears.
File System Type appears in the left navigation pane of the Browse dialog.
To change File System Type, click on different file systems on the left.
Then enter or edit your Remote Server Address in Address field (Remote FS only).
Then enter UserID, Password and maybe other connection data (Remote FS only).
Then click Go button to connect to the server and test whether the data you entered is correct.
If connection is successful, the Home Folder of UserID you used is shown and all folders above it.
Navigate to the folder to sync with in the folder tree.
If folder you want to sync with does not exist, create it:
navigate to its parent folder and click Make New Folder button.
Below we provide detailed description of Local and Remote File Systems that GoodSync supports.
Common File System Options
These options appear in most network-based file systems.
Secure mode SSL. (Off by default, except where required)
By default your UserID, Password and data are not encrypted when transferred between your client and DAV server.
However if your server supports SSL protocol (most do) then
check Secure Mode box under Browse button and URL prefix will change from http:// to https:// (or from ftp:// to ftps://, etc)
which means that GoodSync will establish encrypted SSL connection to the server.
Do not Check SSL server certificates. (On by default)
If Secure Mode is ON and this checkbox is unchecked then
GoodSync will check SSL server certificate:
that certificate is on a trust chain that starts with known Certificate Authority,
that certificate is not expired,
that sever name (common name) in the certificate is exactly the same as server name you are connecting to.
If this box is un-checked then none of these checks are performed.
Check the box if you are using self-signed certificate or
care only about encryption and not about verification of the server identity.
UTF-8 file name encoding. (On by default)
Network protocols are byte protocol, so encoding non-ASCII (non-latin) characters can be done in several different ways.
An original way to encode was ANSI encoding, where ASCII codes from 128 to 255 were used to encode accented characters.
A better, more modern way is to use UTF-8 encoding that can encode any UNICODE character.
Unlike ANSI encoding, UTF-8 encoding does not depend on any off-the-books agreement between client and server.
If checked then use UTF-8 encoding for file and folder names.
If un-checked then use ANSI encoding, language of the encoding being the language of this computer.
Connect Via Proxy. (On by default)
If this box is checked then GoodSync will connect to the server
via HTTP-style proxy specified in Tools -> Program Options -> Connections.
Send Cookies to Server. (On by default)
Check this option if you want our HTTP (DAV) client to send cookies to DAV server.
Most servers do not need cookies, as they have authentication in every request.
Some servers, notable Amazon CD, require cookies.
Used only for HTTP-based protocols.
Windows File System (Windows only)
Windows disks mounted directly on this computer (available only in Windows).
Official URL: file://disk:/folder1/file2.ext, example: file://C:/folder1/folder2/file.ext
Display URL or Windows folder path: X:\folder1\files2.ext, example: C:\folder1\folder2\file.ext
Plus two other naming conventions for Portable and Computer Specific paths, see below.
Since no authentication is required and disks are always connected, the folder tree is shown right away (clicking Go button is not needed).
User Folder
You can specify a user folder as part of folder path like so:
~UserName\folder1
Here UserName is name of Windows User, it is translated to full path of this user profile.
Example: on Windows-7 '~John Smith' is translated to 'C:\Users\John Smith'.
Hidden and System folders are not shown when you Browse inside '~John Smith' folder,
but they are shown if you drill from the root folder to 'C:\Users\John Smith'.
Portable Path
You can specify the disk by its volume name, like so:
=VolumeName:\folder1\folder2
Here VolumeName is volume name that you can set in volume properties in the Windows Explorer.
Use it to designate removable volumes that can be mounted to different disk letters.
Computer Specific Path
You can specify the path that works only on designated computer, like so:
\\=ComputerName\x:\folder1\folder2
This path will only be found on computer named ComputerName.
Use computer specific paths in GoodSync2Go, where the same jobs will run on different computers and
you want some jobs to run only on specific computers, not on all computers.
Encrypt/Decrypt Files using Encrypting File System
You can encrypt and decrypt files using Windows Encrypting File System (EFS).
GoodSync will encrypt files on the side where Encrypt Using EFS option is specified.
GoodSync will decrypt files on the side where Decrypt Using EFS option is specified.
Note that EFS works only on NTFS volumes and not on FAT volumes.
EFS is not supported on Windows XP Home, Windows Vista / 7 Starter, Windows Vista / 7 Home Basic, and Windows Vista Home / 7 Premium.
You must have at least Windows XP Pro, Windows Vista / 7 Business, Windows Vista / 7 Ultimate, or Windows Vista / 7 Enterprise.
Compress Files in NTFS
You can compress and uncompress files using Windows NTFS compression ability.
GoodSync will compress files on the side where Compress in NTFS option is specified.
GoodSync will uncompress files on the side where Uncompress in NTFS option is specified.
Palm and Other USB Mass Storage Devices
These days Palm, Treo and many devices may present themselves as
a regular Windows File System using USB Mass Storage Devices interface.
Most Palm OS devices produced in the last 3-4 years can do that.
So if you have a Palm or Treo phone or PDA, you can sync its files with Windows desktop using GoodSync.
Sync with Palm/Treo disk mounted to your Windows desktop, it will appear in My Computer tab.
Music and Media Players
You can also sync with Music and Media Players that show themselves as
a Portable Disk using USB Mass Storage Devices interface.
Such devices will also appear in My Computer tab.
Mac File System (Mac only)
Mac disks available directly on this computer (available only in MacOS).
Official URL: file:///folder1/file2.ext, example: file:///home/user/my-notes.txt
Display URL or Mac folder path: /folder1/files2.ext, example: /home/user/my-notes.txt
Windows Net Shares (SMB) (Windows only)
Windows Net Shares (remotely mounted disk volumes on SMB server) available through Microsoft networking.
Official URL: smb://server/share/folder1 example: smb://server/share/folder1/file.ext
Display URL = Windows UNC path \\server\share\folder1 , example: \\server\share\folder1\file.ext
List of available network shares is shown, then you can drill down to the sync folder.
Enter UserID and Password if your share is password-protected by UserID and Password that is different from UserID and Password of the Windows account you are logged in to.
Note that once you logged in to Share, Windows will cache authentication data. So if authentication data changes on server, you must Logout and then Login to you account on the client to make Windows use new authentication data.
Apple Filing Protocol (AFP) (Mac only)
Apple remote disks available via AFP protocol.
Official URL: afp://server/share/folder1
Display URL is the same as Official URL.
List of available network shares is shown, then you can drill down to the sync folder.
Enter UserID and Password if your share is password-protected and you do not want to answer system prompts to enter share credentials.
Windows shares will also be shown under a separate handling, as MacOS has native facilities for discovering and presenting Windows shares.
GoodSync Connect (GSTP protocol)
Remote GoodSync server, accessed via GoodSync Connect or directly, using GSTP protocol.
Naming convention: URL with gstp:// or gstps:// prefix, example: gstp://server.user.goodsync/folder1/folder2/file.ext
Extended naming convention adds port, auth data: http://userid:password@server.domain.com:port/folder/file
UserID and Password are always required.
These credentials are created by you when you install GoodSync and setup GoodSync Connect.
GSTP has two addressing schemes:
(1) Traditional IP name or address, resolved using traditional DNS.
Examples: gstp://server.domain.com or gstp://192.168.1.12
(2) Mediated addressing, where GoodSync servers can have dynamic IP addresses which are being tracked by GoodSync Mediator.
Format of the URL is gstp://computerid.userid.goodsync.
Presence of virtual top level domain .goodsync tells GoodSync to lookup real computer IP address via GoodSync Mediator.
Each GoodSync Server checks in to Mediator every several minutes to tell it what IP address it has now.
FTP
Remote FTP server.
Naming convention: URL with ftp:// or ftps:// prefix, example: ftp://server.domain.com/folder1/folder2/file.ext
Extended naming convention adds port, auth data: ftp://userid:password@server.domain.com:port/folder/file
UserID and Password are usually required.
If UserID and Password are empty, GoodSync uses UserID "anonymous" and Password "gsuser@someplace.com"
Secure mode (FTPS): Explicit and Implicit
By default your UserID, Password and data are not encrypted when transferred between your client and FTP server.
However if your FTP server supports FTPS (FTP over SSL) then you can encrypt your FTP transfer.
Check Secure Mode box under Browse button and URL prefix will change from ftp:// to ftps://
which means that GoodSync will try to establish encrypted FTPS connection to the FTP server.
FTPS has two modes: Explicit and Implicit.
Explicit is the default and recommended mode.
In Explicit mode GoodSync negotiates with the server about what encryption to use.
In Implicit mode the connection to server is open in SSL mode right away (on port 990) without any negotiation.
Active Mode or Passive Mode.
By default GoodSync uses Passive FTP mode when connecting,
because in this mode no data connections from server to client are
required and these connections are not allowed by most firewalls.
Check Active Mode box only if Passive mode connection is not allowed by server and
if you firewalls allow servers to initiate FTP data connection to the client.
Implicit FTPS.
See Secure Mode explanation.
Use MDTM to get Exact File Modification Time.
By default GoodSync gets file modification time from file listing.
In this listing file modification time will be rounded to the nearest minute or even day and this may create fake changes.
If MDTM (GET) command is available, then GoodSync can get exact down-to-the-second file modification time, but Analyze will take more time.
If MDTM (SET) command is available, then GoodSync will use it to set correct file modification time on server.
Note that newer MFMT is used instead of MDTM set command, if available on server.
Ping Control Connection.
If checked then GoodSync pings control socket connection while long download or upload is running on data connection.
GoodSync sends NOOP command to control connection every 60 seconds when data connection is active,
so that routers and firewalls do not think that control connection is inactive and terminate it.
If not checked, then only TCP Keep-Alive option is used to keep the control connection up.
In most circumstances TCP Keep-Alive is sufficient and you should not check this box.
WebDAV
Remote WebDAV server.
Naming convention: URL with http:// or https:// prefix, example: http://server.domain.com/folder1/folder2/file.ext
Extended naming convention adds port, auth data: http://userid:password@server.domain.com:port/folder/file
UserID and Password are always required.
DAV is an upload-enabled extension of HTTP protocol.
Some folders on the server may be HTTP only and some folders will allow DAV uploads. This means that you must type the full path to your DAV folder, you cannot type in just server name, click Go and drill down to the DAV folder. This happens because top folder of the HTTP server is usually not DAV enabled and it will not list folders inside it for security reasons.
If you are given only HTTP read access to folder and no DAV access then you can see this folder in a browser, but you cannot see or modify it in GoodSync DAV.
Amazon S3
Amazon S3 server.
Naming convention: URL with s3:// or s3s:// prefix,
example: s3://s3.amazonaws.com/bucket/folder/file.ext
S3 is based on HTTP but it is otherwise not related to WebDAV protocol.
AWS Access Key ID and AWS Secret Access Key are always required.
Put your AWS Bucket Name into the top folder of the URL, like so:
s3://s3.amazonaws.com/bucket/folder/file.ext
S3 Storage Model in GoodSync:
S3 does not have a notion of folders and files,
they have buckets, keys and values.
Therefore folders and files model has to be translated to buckets,
keys and values model and different programs do it in a different way.
GoodSync model is rather straightforward:
(i) folder is a key whose name is folder path that ends with '/' and content is empty.
(ii) file is a key whose name is path of the file and content is content of the file.
(iii) bucket is top level folder.
GoodSync and other S3 clients.
While our model is most obvious and rational,
folders and files that GoodSync create may be not recognized by
other S3 client programs that use different model.
Therefore you should create and use folders only with GoodSync and
other programs that support the same model.
Host-based Addressing for Buckets: option
If checked then use host-based addressing for buckets.
Must be checked for buckets hosted in Europe or Japan.
Host-based bucket names may contain only lower case latin letters and digits.
If unchecked then use URL-based addressing for buckets.
S3 hosts
S3 used to have one main host: s3.amazonaws.com.
Not anymore. Now Amazon has several 'super-hosts' based on the region:
* US Standard = s3.amazonaws.com
* Ireland = s3-eu-west-1.amazonaws.com
* Northern CA = s3-us-west-1.amazonaws.com
* Singapore = s3-ap-southeast-1.amazonaws.com
* Tokyo = s3-ap-northeast-1.amazonaws.com
You can specify any of these hosts in the URL.
GoodSync offers s3.amazonaws.com host by default.
If you use host-based addressing then Amazon figures out the region based on your bucket name and
you do not need to specify the super-host, instead using the default s3.amazonaws.com.
Using host-based addressing is a better way, because one bucket exists in
exactly one region and Amazon knows which one and you do not need to specify the region to GoodSync.
Bucket Naming rules
These rules must be followed:
(i) In host-based addressing (option under Browse -> Advanced) bucket names must be lower case and
they can consist only of letters and digits. No upper case of mixed case bucket names are allowed.
(ii) In URL-based addressing (host-based addressing is Off) bucket names can be mixed-case.
(iii) All European, Asian and other non-US buckets can use host-based addressing,
or they can use URL addressing with region-specific main host.
(iv) You cannot use bucket name in host name like so: s3://bucket.s3.amazonaws.com/folder,
it must appear as the first member of the folder path, after the host name.
Reduced Redundancy (ver 9 only)
If checked then use bucket with reduced redundancy that is also cheaper.
If unchecked then use regular high-redundancy expensive buckets.
Server Side Encryption (ver 9 only)
If checked then encrypt files on the Amazon S3 server using S3 mechanism.
If unchecked then store files un-encrypted.
Access Control (empty by default)
Amazon S3 Access Control Policy, can be one of Canned Access Policies:
private (default), public-read, public-read-write, authenticated-read.
All uploaded files are uploaded with the specified policy.
Secure FTP (SFTP)
Remote SSH server with SFTP capability.
Naming convention used: URL with sftp:// prefix, example: sftp://server.domain.com/folder1/folder2/file.ext
Extended naming convention adds port, auth data: sftp://userid:password@server.domain.com:port/folder/file
Works only with SSH-2 servers, not with SSH-1 servers.
Authentication data is always required, and it comes in two different varieties:
* UserID + Password.
Just like in FTP, UserID and Password are required to log in.
* UserID + Private Key File ( + Password ).
Private Key File is a small (1-2 Kb) file that contains
the "private key" part of the Public - Private Key Pair.
The Public Key is located on the server and only server administrator can put it there.
Private Key may additionally be protected by a password.
Enter this password into the Browse dialog or
use private key caching program such as Pageant.
Private Key format: We accept pribate key files in OpenSSH and PuTTY formats. PuTTY format looks something like this:
Secure mode (Always On)
In SFTP protocol all communication is encrypted.
UTF-8 file name encoding.
SFTP is a byte protocol too, so encoding non-ASCII (non-latin) characters has the same issues as FTP.
In this option you can select ANSI or UTF-8 encoding.
UTF-8 encoding is recommended and is the default.
See FTP for more details.
Private Key.
See explanation above.
Google Drive (Docs)
Google Drive (Docs) server.
Naming convention: URL with gdocs://www.google.com.
Example: gdocs://www.googleapis.com/my-folder/my-word.doc
UserID and Password are always required.
UserID must be in format userid@gmail.com for free Google accounts
or testuser@testdomain.com for premium Google accounts
where testdomain.com is the domain that is assigned to your premium Google account.
Files and Folders:
Google Documents do not have files and folders in a traditional sense of these words.
So GoodSync performs file/folder model translation to reconcile traditional file systems with GDocs.
GoodSync ver 9.3.8 introduces new GDocs / GDrive file system, based on Google Drive API ver 2.
It uses OAuth2, so you will be required to allow GoodSync to use this API,
by agreeing to it in your default browser.
GoodSync would call up Google web page that requests such consent.
It has to be done once for every Google account on every computer where you use GoodSync to access Google Drive.
This is a requirement by Google Inc, so do not ask us whether it makes sense.
Native and External docs:
If you only upload a file/document to GDocs and then download it using GoodSync and you never edit it in GDocs
then this is an external file to GDocs and Google does not change this file.
However if you edit a document in Google Docs (you can do it with Word and Excel documents)
then this becomes a native GDocs document and you can see it change even if you did not change anything.
This is related to our observation that GDocs never shows to GoodSync the file as they store it,
instead they convert file to an external format every time you download it and
these conversions may produce slightly different result even if source file is the same.
Windows Azure
Windows Azure server.
Naming convention: URL with prefix azure:// or azures://
Example: azures://sibtest.blob.core.windows.net/folder
This is a single-server file system, click Servers to see the name of this server.
Amazon Cloud Drive
Amazon Cloud Drive server.
Naming convention: URL with prefix acds:// -- only secure option.
Example: acds://www.amazon.com/folder
This is a single-server file system, click Servers to see the name of this server.
SkyDrive
SkyDrive by Microsoft.
Naming convention: URL with prefix sds:// -- only secure option.
Example: sds://docs.live.net/3f6xxxxx730a/^.Documents
Note: do not try to type URL by yourself, click Browse button, enter your MS Live/Passport/Hotmail UserID and Password,
click GO and GoodSync will construct URL for your account at SkyDrive.
This is a single-server file system, click Servers to see the name of this server.
Enabling Send Cookies as strongly recommended, as SkyDrive server may be using them to ensure that you use it on not too many devices.
Windows Mobile Phone and Pocket PC
Windows Mobile phones and Pocket PC devices.
Naming convention used: URL with wm: prefix, example: wm:MyPhone\My RoboForm Data
Device should be physically connected to the computer, usually it is plugged into USB port.
ActiveSync or Windows Mobile Device Center (WMDC) must be installed on the desktop.
Device is not required to have a partnership with desktop on which GoodSync runs.
So you can sync phone files with more than two desktops.
To sync with the phone that has no "relationship" with your desktop: when ActiveSync tells you to create a new relationship upon connecting your phone to the desktop, select Guest Relationship or just press Cancel.
Job Options
Each Job has a set of options that modify the behavior of synchronization algorithm for this job.
General tab
Job Type
Job type can be one of the three choices below.
- Synchroize 2-Way (default)
- Propagate changes from Left to Right and from Right to Left.
- Backup Left to Right (1-way)
- Propagate changes only from the Left sync folder to the Right sync folder.
- Backup Right to Left (1-way)
- Propagate changes only from the Right sync folder to the Left sync folder.
Propagate Deletions (checked by default)
If checked, then deletion made by user on one side of the job is propagated to the other side.
If not checked, then deletions are not propagated, only changed files are propagated.
This modifier applies only to 1-way jobs.
Move Mode: Delete Source Files after Copy
Delete Source Files after Copy.
If selected then GoodSync performs File Copy and after the successful File Copy
it will delete copied files from the source side of the job,
thus effectively performing the file Move operation.
Display Balloon messages
This option controls whether and when balloon (system tray) messages are displayed.
- Never
- Do not display balloon messages.
- On Conflicts and Errors (default)
- Display balloon messages only when Conflicts or Errors are detected during Analyze or Sync.
- On Changes and Sync
- Display balloon messages when Analyze detects Changes, Conflicts or Errors.
Save deleted/replaced files, last version only (checked by default)
If checked, then GoodSync saves a file just before replacing this file with a newer version or deleting this file.
The file is saved to _gsdata_\_saved_ folder on the side of the job
where the replacement/deletion is about to occur.
Only the most recent version of the file (the one just before the current version) is retained.
Note that _gsdata_ is a hidden folder, so you must check Show Hidden Files option
in Windows Explorer if you want to see contents of this folder.
If not checked then the replaced/deleted files are removed once and for all.
Cleanup _saved_ folder after this many days (checked by default, 30 days)
If checked then remove files that were saved to _gsdata_\_saved_ folder,
after they spent there the specified number of days or more.
Cleanup occurs immediately after Sync.
If not checked, then keep files in _gsdata_\_saved_ folder forever.
Save deleted/replaced files, multiple version (off by default)
If checked, then GoodSync saves a file just before it rewrites or deletes this file.
The file is saved to _gsdata_\_history_ folder on the side of the job
where the replacement/deletion is about to occur.
Timestamp is added to file name before its extension, so that multiple versions of the file can be saved.
Directory structure is preserved.
This option cannot be used together with 'Save deleted/replaced files, last version only' option.
Cleanup _history_ folder after this many days (off by default, 30 days)
If checked then remove files that were saved to _gsdata_\_history_ folder,
after they spent there the specified number of days or more.
Cleanup occurs immediately after Sync, every 5-7 days.
If not checked, then keep files in _gsdata_\_history_ folder forever.
Cleanup old generations after this many months (24 by default)
GoodSync stores history of file changes, so that it can be propagated.
The history that goes back in time for more than specified number of months is 'forgotten' by GoodSync.
In practice it means, that if you did not sync all your computers for some time then
unsynced changes that are older than 2 years will not propagate properly.
Reconnect folders automatically (checked by default)
If On then GoodSync tries to reconnect the folder when folder disconnect is detected.
If Off then folder disconnect terminates Analyze or Sync.
Number of Reconnect Attempts (3 by default)
Number of Reconnect attempts to be made, before GoodSync gives up.
There is a 30 second wait before each reconnect attempt.
Successful file operation after Reconnect causes job to continue as if nothing happened.
N unsuccessful attempts to reconnect cause job termination.
Run parallel Threads to in Sync (No by default)
If checked then run main pass of Sync in this many parallel threads.
Using this option speeds up file transfer for remote servers that have high latency.
It does not increase speed, if your connection bandwidth is used up by a single-thread sync.
If empty or 1 then run sync in one sequential thread.
Examples of when it helps: many small files uploading to FTP or SFTP server.
Example of when it does not help: several large files uploaded to GSTP or S3 or FTP server.
File Copy Speed Limit in KBytes/sec (0 by default)
If not zero, then limit file copy speed by the speed in KBytes/sec specified in this option.
When average file copy speed in Sync exceeds the specified threshold,
GoodSync suspends (sleeps) jobs for 1 second until
the effective average speed falls below the limit.
100 Kbytes/sec is equal to approx 1 Mbit/sec.
Separate Download and Upload limits are provided.
If Download limit is zero, then it is assumed to be the same as Upload limit.
Filters tab
Exclude (empty by default)
Files and folders that match any line on this list, will be excluded from synchronization.
Details are provided in the Exclude Filters Section.
Include (empty by default)
If not empty then only files and folders whose names match
one of the lines of this Include list and
do not match any lines of the Exclude list,
are included in synchronization.
Details are provided in the Include Filters Section.
It is recommended for the set of inclusions and exclusions to be the same for all jobs that sync with one particular folder. Keeping them different is possible but it is likely to cause confusion as some jobs will not sync files that other jobs would sync.
Exclude Empty Folders (un-checked by default)
If checked then Exclude folders that are empty or
that contain only empty folders.
Folder are considered empty if they contain no files
or if they contain only files that were excluded by Filters.
Exclude Hidden Files and Folders (checked by default)
Exclude files and folders that have HIDDEN attribute.
Exclude System Files and Folders (checked by default)
Exclude files and folders that have SYSTEM attribute.
Auto tab
Analyze and Sync can be made to run automatically by using this tab.
Check Analyze box for Analyze only to run on a specified trigger.
Check Sync box for Sync to run on a specified trigger.
If you check Sync box then Analyze box is checked too,
because Analyze must be run before Sync.
One or more triggers may be checked to cause automatic Analyze and/or Sync:
On File Change
Analyze (and maybe Sync) this job when any file changes in left or right folder or its sub-folder.
Starting with GoodSync ver 9.1.4, we employ our new Real Time Sync mechanism that:
- Monitors file system for changes,
- Analyzes only files that were reported changed by file system, no full Analyze.
- Syncs files that have changed.
- Full Analyze is performed only on the 1st iteration of Real Time Sync.
These files systems can do file monitoring, so they can do On File Change Real Time Sync:
- Windows File System, local disks, except root folder.
- Windows shares, except some broken NAS shares that do not report changes.
- Mac file system, local disks.
- Any of the above file systems, remotely accessed via GSTP protocol used in GS Connect.
- None of traditional server file systems can be monitored: FTP, SFTP, S3, SkyDrive, etc.
- If only one side of the job can be monitored, then GS will get changes only from one side.
On File Change Delay option:
If not zero then GoodSync will wait this many seconds since the last change detected by On File Change,
before starting the Analyze and Sync.
Note that if you had several changes (including changes performed by this or other sync jobs),
the delay countdown will start with the last change that was detected.
We recommend to set it to at least 120 seconds (2 minutes),
so that GoodSync does not start syncing until files were stable for at least 2 minutes.
Things to know:
- If changes occur during Analyze/Sync, they are still detected and sent to the next Analyze.
- If these changes are result of our own sync, they will produce no new changes to be synced.
- On File Change initiates Analyze and Sync, which results in locking of sync folder by GS lock files.
- GoodSync checks for new changes approximately every 10 seconds.
On GoodSync start
Analyze (and maybe Sync) this job when GoodSync starts.
You can also specify delay in seconds:
when GoodSync starts, it will wait this many seconds before starting this job.
Should not be used together with On File Change mode.
Periodically (On Timer)
Analyze (and maybe Sync) this job periodically, every HH hours and MM minutes.
Can be used together with On File Change mode, if you desire a Full Analyze from time to time.
On Folders Connect
Analyze (and maybe Sync) this job when both folders of the job become
connected, after they were disconnected previously (that is, one of
the folders must come from disconnected to connected state).
GoodSync checks every 3 minutes for status of left and right folders
for a job with this option.
The following events speed up checking of status, as they are likely
to cause folder connect or disconnect:
* Insertion or Ejection of Portable Volume: detachable folders may connect or disconnect.
* Network Connect or Disconnect: FTP, SFTP, DAV folders may connect or disconnect
* Windows Mobile device (phone) Connect or Disconnect: Windows Mobile
device connected or disconnected.
Should not be used together with On File Change mode.
On Logoff
Analyze and then Sync this job just before Logoff from Windows.
Note that Windows may try to kill GoodSync on Logoff.
Normally Windows sees that GoodSync is performing file operations
and responds to messages and it would let GoodSync finish.
However this cannot be guaranteed.
Scheduled: Run in Full User Interface (Attended)
Analyze and then Sync this job periodically,
on a schedule set in Windows Task Scheduler.
Click Configure to call up Windows Task Scheduler and set schedule in it.
GoodSync will create Windows Task that would start full GoodSync with this job.
GoodSync.exe will be started in Attended (Full GUI, default) mode:
- If GoodSync is not presently running, it will be started as a system tray icon.
- Only one GoodSync process runs for all jobs.
- All auto-started jobs are executed sequentially in the GoodSync process.
- You should double-click GoodSync system tray icon to see what GoodSync is doing.
- If GoodSync is already running, this job will be queued for Analyze and Sync.
You cannot use this mode to schedule run of GoodSync job when you are logged out.
Scheduled: Run without User Interface (Unattended)
Analyze and then Sync this job periodically,
on a schedule set in Windows Task Scheduler.
Click Configure to call up Windows Task Scheduler and set schedule in it.
GoodSync will create Windows Task that would start GoodSync with this job.
GoodSync.exe will be started in Unattended mode:
- It has no Graphical User Interface and it consumes minimal possible resources.
- It shows only TaskBar Icon and Mini-Window with job progress.
- Several instances of 'GoodSync /unatt' may be run, each executing its own job.
- You can see the results of such job in logs written by GSYNC.EXE,
use Job -> Open Left/Right Log Files.
Scheduled: common rules for Attended and Unattended
You must enter Windows UserID and Password into the Windows Task,
when you finish entering the schedule of the task or
when you do any changes to the task.
This is what Windows documentation has to say about it:
"For security reasons, Windows will not allow you to run a task under
a user account with a blank password. Even though the Help page in
Task Scheduler says a password isn't always required."
If your Windows account has no password,
you must create one in order to use Task Scheduler.
You can also check GoodSync global log (in Applications Data\GoodSync) to see whether Task Scheduler in fact started GoodSync, if you see that job does not run when it is supposed to run.
Copy Locked Files in Unattended Mode: Since ver 9 executes all file operations (such as copy locked file) in already elevated GoodSync server, even unattended mode can copy locked files. Ver 8 requires user elevation to copy locked files, which is not possible in unattended mode.
Auto Trigger Priority
The new On File Change (OFC) mode overrides most other Auto triggers:
- On GoodSync Start: OFC does full analyze on start already.
- On Folder Connect: OFC will retry job after connection has been lost.
`
- On Logoff: in files are in sync all the time, no need to sync them on logoff.
In general, triggers are checked in the order they appears in the Auto modes list:
- If On File Change runs then only On Timer, On Logoff and Scheduled modes are effective.
- All other triggers are not exclusive of each other.
- If one trigger has scheduled a job to start then the other triggers cannot schedule it.
- If a job is running already, then auto triggers cannot start it.
- Scheduled Unattended trigger is independent of all other triggers,
as it runs a separate unattended GoodSync in a separate process.
Option: Do Not Sync if too many files changed (30% by default)
Automated Sync (2-way mode only) is not performed if more than
the specified (in percent) fraction of files in the Job has changed.
Unusually high number of changed files indicates that
something may be wrong and manual intervention is required.
Set to 100% to Sync no matter how big the changes are.
This option is ignored for 1-way jobs.
Option: Automatically Resolve Conflicts
When job is about to be Synced automatically,
use this option to automatically resolve conflicts:
- Do Not Copy (default value)
- Leave Conflicts in unresolved (Do Not Copy) state.
- Left to Right
- Resolve to Left to Right propagation.
- Right to Left
- Resolve to Right to Left propagation.
- Newer File Wins
- File with the most recent modification date wins.
Wait for Locks to clear (checked by default)
If checked then auto jobs wait for lock files to clear instead of producing an error.
Lock file is present in the sync folder when a Sync is running in this folder.
This way two GoodSync on different computers cannot sync to the same folder at the same time, to avoid data corruption.
If not checked then presence of lock file in sync folder produces error.
You can also specify length of waiting in minutes. Zero means default value of 20 minutes.
Option: Auto Clear on Sync or Analyze with no changes (un-checked by default)
If checked, then
GoodSync automatically deletes the Changes tree after successful Sync or
after Analyze that did not detect any changes.
Deleting big Changes tree allows you to save memory.
You will not be able to see sync results after Changes tree has been deleted,
because the changes are stored in the tree,
but you will be able to check sync log and see what has been done.
Auto Options work Only if GoodSync Runs
GoodSync must be already running for these Auto events to work:
- On Folder Connect
- Logoff
- Periodically (On Timer)
So you should turn on these global program options:
- Start GoodSync when Windows starts.
- Hide to System Tray when Main Window is closed.
Task Scheduler option does not require GoodSync to be running, because Windows Scheduler starts GoodSync based on the Windows Task that GoodSync creates when you enable this option.
Job Scheduling
Each event that has just occurred flags the job as ready-to-run.
Ready-to-run jobs are run from left to right, sequentially,
until all ready-to-run jobs have been run.
If job is already in the ready-to-run state
and another even occurs that wants to run the job
then this 2nd event is ignored.
Scripts tab
Option: Pre Analyze E-Mail or Program
If the option is not empty, then run the program specified in the option before Analyze.
Use this option to connect your folders (say, start VPN) or to otherwise prepare for Analyze.
If the program returns non-zero return code or fails then do not start Analyze (new for GS ver 8.3.2).
If the program succeeds and returns zero return code, then proceed with Analyze.
Rules for interpreting this option appear below.
If the option value contains '@', then send e-mail to address specified in the option.
Option: Post Analyze With No Changes E-Mail or Program
If the option value contains '@', then send e-mail to address(es) specified in the option.
If multiple email addresses are specified, they must be separated by comma or semicolon: user1@server.com; user2@hotmail.com
If the option contains no '@', then run the program specified in the option.
Email is sent or program is run when Analyze finishes with no changes and Sync will not occur after Analyze.
Use this option to take a custom action after Analyze With No Changes, such as disconnecting your VPN.
Rules for interpreting this option appear below.
Option: Post Sync E-Mail or Program
If the option value contains '@', then send e-mail to the e-mail address(es) specified in the option.
If multiple email addresses are specified, they must be separated by comma or semicolon: user1@server.com; user2@hotmail.com
If the option contains no '@', then run the program specified in the option.
Email is sent or program is run when Sync finishes. Sync follows Analyze that detected Changes.
Note that either Analyze With no Changes or Sync With Changes will happen, but not both of them.
Use this option to take custom action after Sync, such as notifying system administrator.
Rules for interpreting this option appear below.
Scripts: Calling Programs and Sending Emails
Format 1: The Pre/Post-Analyze/Sync option value specifies the arguments passed to the program:
program-name %ARG1% %ARG2% %ARG3% ...
where arguments can be one of the following (all variable names are case-sensitive):
| %JOBNAME% | job name |
| %RESULT% | Result: "" for OK or "terminal error message" |
| %LOGPATH% | Log file path in "..." |
| %LF% | Left folder path in "..." |
| %LF_ACT% | Resolved (=VolumeName\folder -> f:\folder) Left folder path in "..." |
| %RF% | Right folder path in "..." |
| %RF_ACT% | Resolved (=VolumeName\folder -> f:\folder) Right folder path in "..." |
| %STAGE% | Sync stage: Pre-Analyze | Post-Analyze | Post-Sync |
| %CHANGED% | Number of Changed Items in Post-Analyze |
| %ERRORS% | Number of Errors in Post-Analyze or Post-Sync |
| %CONFLICTS% | Number of Conflicts in Post-Analyze or Post-Sync |
| %SYNCOK% | Number of Synced-OK items in Post-Sync |
Program-name can be .BAT file, .EXE file or any executable file.
If program-name is not absolute, it should be on your executable PATH.
If program name contains spaces, it must be enclosed in double quotes like so:
"C:\Documents and Settings\John Smith\My Documents\myscript.vbs"
Program name may contain %GSDISK% variable replaced with the disk GoodSync was started from, like so:
"%GSDISK%\folder1\folder2\program.bat"
if you want to start this program from the disk on which GoodSync2Go resides.
Example: call Notepad to show log file:
notepad %LOGPATH%
Format 2:
If program name is specified with %ALLARGS% arguments then
the program receives 7 arguments:
1. Job name.
2. Terminal error message. Empty is no terminal error has happened.
3. Log File Path.
Log may not exist or be empty if terminal error occurred.
Non-terminal error messages are contained in this log file.
4. Left Sync Folder Path.
5. Right Sync Folder Path.
6(A). Number of Changes (Post-Analyze only).
6(S). Number of Items synced OK (Post-Sync only).
7. Number of Non-Terminal Errors (Post-Analyze and Post-Sync),
8. Number of Conflicts (Post-Analyze and Post-Sync).
Format 3 (deprecated): If program name is specified without arguments then the program is started without any arguments.
GoodSync waits for the program to finish before proceeding.
However, if program name is prefixed with "nowait: ", then GS does not wait.
If program name is prefixed with "errors: ", then it is started only if:
- Terminal Errors occurred in Analyze or Sync, OR
- Non-Terminal Errors occurred in Analyze or Sync, OR
- Conflicts occurred in Analyze.
Advanced tab
*** Sync-time Options ***
Safe Copy using temporary files (checked by default)
If checked, then Sync does not copy source file directly to the
destination file, as it would result in corruption of destination file
is copy operation is aborted mid-way.
Instead Sync copies source file to temporary file in destination
folder and once copy operation is finished, temporary file is renamed
to the destination file.
You may uncheck this option if you are doing 1-way backups and
destination volume has small free space, so that keeping two copies
of one big file may overflow it.
This option is also present per folder for some file systems such as WebDAV.
If folder-specific 'Safe Copy using temporary files' option is present then
this option is applied only on the side of the job where it is checked.
Copy File Creation Time (un-checked by default)
If checked then copy Creation Time of the file or folder, in addition to copying Modification Time.
If unchecked then copy only file/folder Modification Time.
Copy DACL Security Attributes (un-checked by default)
If checked then copy Access Control List (ACL) of the file or folder
when it is being copied by GoodSync.
This option is available only on Windows NTFS file system,
as only NTFS has ACL.
Copy Locked Files (checked by default)
If On then copy from locked files using Volume Shadow Service (VSS).
If Off then return Cannot Copy Locked File error for locked files.
Available on Vista, Windows 7 and XP.
On 64-bit Windows XP, Vista and 7 you must use GoodSync 64-bit version for this to work.
GoodSync can copy only FROM a locked file and never TO a locked file.
GoodSync can copy only from locked file on local disk,
never from a network-mounted locked file.
Check that files did not change between Analyze and Sync (un-checked by default)
If checked then verify that files did not change between Analyze and Sync.
If un-checked then do not perform this verification.
Turning this option On slows down remote Syncs but guarantees better file integrity.
Move Mode: Delete Empty Folders after Copy
Delete Empty Folders after Copy, if Delete Source Files after Copy is performed.
If selected then GoodSync deletes empty folders on the source side,
in addition to deleting source side files that have been copied.
Enabled only if Move Mode is turned On in the General tab.
*** Analyze-time Options ***
Read-Only Source Side (No _gsdata_ folder in it)
1-way Sync in which GoodSync does not write anything on the source side.
All GoodSync files (_gsdata_ folder, logs, state files) are
written to _gsdata_ Mirror folder created in
C:\Documents And Settings\UserName\Application Data\GoodSync\Mirrors.
This option can be used only for folders that you have no write access to,
or for folders that GoodSync never modifies.
This applies only to 1-way syncs.
No _gsdata_ folder on the Right side (un-checked by default)
If checked then do not create _GSDATA_ folder in the Right (remote) sync folder of the job,
instead create _GSDATA_ folder in the GoodSync profile folder on this computer.
If not checked then create _GSDATA_ folder in both sync folders of this job.
Still use _gsdata_ folder on the left side of the job.
Use this option only for folders that are not sync centers
(all jobs only read from this folder or only write to this folder).
If _gsdata_ folder is disabled then these options are disabled too: Save Previous/Past Version.
Compare MD5 checksums (un-checked by default)
If checked then compare MD5 checksum of all files on the left and right.
If MD5 checksum of the file differ whereas File Size and File Mod Time are the same, declare a conflict.
If unchecked then file is considered to be changed if its File Size or File Mod Time have change.
Fast Pre-Analyze using timestamps (un-checked by default, except for RoboForm jobs)
If checked then before doing Analyze check whether timestamp file on server side of the jobs has changed.
If it did not change then skip Analyze for the server side of the job and assume there was no changes there.
If not checked then always perform full Analyze.
Conditions for use of this option:
(1) one of the job sides should be on server, the other local,
(2) server promises to never change any files in sync folder other than via GoodSync ver 8.1.4 or later,
(3) if server changes any files by itself, it promises to delete timestamp file _gsdata_\_insync.gsl.
Detect File and Folder Moves and Renames (checked by default)
If checked then detect file and folder Move or Rename and execute them as such and not as Copy New File + Delete Old file.
Folder move is detected when all files inside the folder are moved to the same destination folder.
Note that if a folder contains two or more files that are exactly the same per file size and file mod time,
then rename/move of such files or their parent folders cannot be detected.
If un-checked then Moves/Renames are not detected and all file sync operations are Copy File or Delete File.
Uber-Unlocked Mode (un-checked by default)
If checked then Source files may be deleted or moved during upload, as GoodSync does not lock them in any way during upload.
Also GoodSync would notice right away that such deletion/move have occurred and it will not continue uploading deleted file.
If un-checked then use operating system unlocked mode for uploads, but this mode still locks source files against move or delete.
Even if OS appears to allow you to delete/move the source file, GoodSync will continue uploading the file, and
only when GoodSync finishes, the file will actually be deleted.
Verify that Destination side does not change
If checked then GoodSync checks that files on destination side of 1-way job
did not change between last Sync and this Analyze.
That is, it verifies that changes have occurred only on the source side of 1-way job.
If a change on the destination side is found, a conflict on such item is declared.
Estimate disk space required for Sync (checked by default)
If checked then Compute how much free disk space is needed to complete the Sync.
Keep it On for jobs that write to drives with limited free space.
Turn it Off for jobs that are unlikely to overflow disks, because free space is plentiful on both sides.
Folder Symbolic Links Processing (Copy As Is by default)
This option determines how symbolic links to folders are processed.
* Ignore. Symlinks to folders are ignored and not copied in any way.
* Copy As Is. Symlink to folder is copied as the same Symlink in the destination folder.
* Drill Down. Target folder of symbolic link is be copied to the destination folder.
File Symbolic Links Processing (Copy As Is by default)
This option determines how symbolic links to files are processed.
* Ignore. Symlinks to files are ignored and not copied in any way.
* Copy As Is. Symlink to file is copied as the same Symlink in the destination folder.
* Drill Down. Target file of symbolic link is copied to the destination folder.
Global Program Options
General tab
These global options apply to all jobs, to the entire GoodSync program.
They are called by Tools -> Program Options command or ALT+P.
Language (default: English)
Select user interface language for GoodSync.
You must restart GoodSync for the language change to become effective.
Supported languages are listed on the Translations Page.
Show GoodSync icon in system tray (on by default)
If checked then:
When GoodSync runs, it shows its icon in System Tray.
If not checked, then:
GoodSync does not show anything in System tray when it runs.
Hide to System Tray when Main Window is closed (off by default)
If checked then:
When you Close GoodSync, it will run in the background and it will show System Tray icon.
To access GoodSync, double-click GoodSync icon in System Tray (desktop lower right corner).
If not checked, then:
When you close GoodSync, it unloads from memory.
Start GoodSync when Windows starts (off by default)
If checked then
Windows starts GoodSync automatically when you log in to your Windows account.
Started this way, GoodSync shows only taskbar icon and no main window.
You can double-click the icon to call up the main GoodSync window.
Turn this option on if you run jobs automatically,
that is, if you checked any boxed in Job Options -> Auto tab.
Reset all information messages to default
If checked then
GoodSync resets no-show status of all warning messages that can be turned off.
Check for a new version daily (on by default)
If checked then
GoodSync will contact www.goodsync.com daily
to check whether the new version is available.
Create left/right Sync folders if they are not found (off by default)
If checked then GoodSync will create left/right sync folders if they are not present.
If not checked, then
error message will be shown on Analyze if sync folders are not present.
Auto-hide Mini Window when there is no active jobs
If checked and Mini Mode windows is shown then GoodSync will hide this window
when all active jobs finish running, after a delay of about 30 sec.
Save Logs, Level of Detail
GoodSync writes log file named YYYY-MMDD-ComputerName-JobName.log
to _gsdata_ folder in the Left and the Right sync folders of the job.
Here YYYY is current year, MM is current month, DD is current day,
ComputerName is the name of this computer, JobName is the name of the job that ran.
A new job log file is created for each Analyze + Sync combo. Job logs are uploaded to _gsdata_ folder on both sides of the job when Sync finishes. Initially job logs are written locally to Mirrors folder in your GoodSync profile. Logs of Analyze-only jobs are available only in local Mirrors folder. Job -> Open Left/Right Logs shows logs files both from sync folders and local Mirrors folders.
- Critical
- Important non-error messages that must be seen.
- Error
- Errors that terminates a job, shown in red.
- Information (default value)
- Warnings or major action performed, includes sync actions.
- Details
- Details on actions performed, no need for most users to see.
Save Logs In Folder
GoodSync also writes global log of all actions it performs to
file named GoodSync_YYYY-MM-DD.log that is located in folder
C:\Users\<User Name>\AppData\Roaming\GoodSync
(on Win XP: C:\Documents And Settings\<User Name>\Application Data\GoodSync).
If 'Save Logs In Folder' option is specified (not empty) then GoodSync writes global logs to the folder specified in this option.
Retain logs for this many days (7 by default)
Number of days for which global and job logs are retained.
Log files that are older than the specified number of days are deleted when GoodSync starts.
0 days means: retain logs for 2 hours.
Compare Files Using External Program (on by default)
If checked then call external file compare program when you select
Compare Left to Right from file context menu that is available after Analyze.
If one of the files is located on remote file system, it is downloaded first.
File Compare Program (empty by default)
Specifies path to the external file compare program used above.
This external program receives two arguments: path to left and right file.
If the program is not specified (blank field) then the default file compare program is used.
UNIX diff is the default file compare program.
It shows line difference for text files only.
If invoked on folders, it compares all files in the selected folder and its subfolders.
Byte comparison of all files can take a long time on slow file systems.
Filters tab
In addition to job-specific Included and Exclude filter you can specify global (program-wide) filters in this tab.
The effective Exclude and Include filters used for the job are
the sum of job-specific Exclude and Include filters
and program-wide filters from this tab.
Detailed Filters description is provided in the Exclude Filters Section.
Connection tab
Use this tab to specify connection proxy that is used by:
(i) all jobs that have Use Proxy option checked,
(ii) AutoUpdate and version checker,
(iii) Activation of Pro version, when talking to GoodSync server.
Use Proxy Server used by Internet Explorer (checked by default)
If checked then use the same proxy server as the one that Internet Explorer and WinINET use.
GoodSync may be unable to handle some complex proxies, such as ISA proxy with NTLM auth.
Another proxy handling alternative for WebDAV file system is to check WinINET checkbox under Browse button,
this would cause GoodSync to use WinINET socket layer instead of our own socket layer.
Use this Proxy Server (unchecked by default)
If checked then use the proxy server specified below.
Host name and Port (empty by default)
Host name and port of the proxy server.
Proxy UserID and Password (empty by default)
If not empty, use these credentials as UserID and Password
for Proxy specified above or derived from IE settings.
Use SMTP server to send emails (unchecked by default)
If checked then use SMTP server specified below to send Post-Sync and Post-Analyze emails
to the addresses that are specified in Job -> Options -> Scripts.
If unchecked then use default MAPI client of your computer to send these emails.
SMTP Server (empty by default)
IP name or address of SMTP server that is used to send emails.
SMTP Port (empty by default)
Port on SMTP server that is used to send emails.
Default values: 587 or 25 for non-secure connection, 465 for secure SSL connection.
SMTP UserID and Password (empty by default)
If your SMTP server requires authentication (most servers do these days),
specify your credentials here.
Sender's Email (empty by default)
E-mail address of the sender that will be used in emails that GoodSync sends.
Secure SMTP submit over SSL (unchecked by default)
If checked then talk to SMTP server using SSL, so that connection is encrypted.
If not checked, use plain text communication.
Example: using GMail SMTP server:
SMTP server = smtp.googlemail.com
SMTP port = 465
User Name = yourname@gmail.com
Password = yourpassword
Secure SMTP over SSL = checked
About tab
This tab show version and use information.
It also contains Check for Updates button that checks www.GoodSync.com for its most recent version.
TIX: Readable Job Descriptors
Starting with version 8.1.9, GoodSync can export, import, write and read
list of its jobs in new human readable XML-like text format called TIX.
Originally, only the TIC format was available.
TIC is a short text format but which is not human readable or editable.
Using TIX instead of standard TIC provides several benefits:
- Automation: Edit and generate GoodSync jobs without starting GoodSync GUI.
- Automation: Load job list in TIX format from registry not file, for easy mass job distribution using Active Directory.
- Archiving: Readable and printable backup format for job list.
A typical job description in TIX looks like this:
TIC and TIX, File and Registry: Who decides.
These four registry values control format and source of loading and saving of the job list and program options.
These values are taken from registry key "HKEY_CURRENT_USER\Software\Siber Systems\GoodSync" and they are DWORDs.
JobsLoadRegistry = 1 : load job list and program options from registry values in TIX format.
JobsLoadRegistry = 0 : load job list from jobs.tic file, program options from options.tic file. Default.
JobsSaveRegistry = 1 : save job list and program options to registry values in TIX format.
JobsSaveRegistry = 0 : save job list to jobs.tic file, program options from options.tic file. Default.
If option to load job list from registry or save to registry is set then registry values "HKEY_CURRENT_USER\Software\Siber Systems\GoodSync\Jobs\job-name\tix" are used. Each job gets its own registry key and value named "tix" in that key contains TIX string that describes the job. TIX string does not have newline characters.
If option to load program options from registry or save to registry is set then registry value "HKEY_CURRENT_USER\Software\Siber Systems\GoodSync\ProgOptionsTix" is used. It contains program options encoded in TIX.
General Rules.
There can be more than one job in jobs.tix file.
Newline characters can be used to improve readability, but they are not required.
Each property is recorded as "name = value", where value can be a single constant,
an object in object brackets, or a list presented as "( element1 element2 ... elementN)".
Boolean constants can appear "Yes", "No", "T" or "F".
Strings appear as "text" (double quotes required).
You can represent special characters in the string this way:
\n new line
\\ backslash
\" double quote character
\NNN; non-printable character whose decimal code is NNN.
Job Properties.
Appears in <Job> ... </Job> brackets.
Name = "Job Name"
Dir1 = <Connect> ConnectoidProperty ... </Connect>
Dir2 = <Connect> ConnectoidProperty ... </Connect>
Direction = 0 for 2-way | 1 for Left to Right | 2 for Right to Left
ReadOnlySource = Yes | No
PropagateDeletions = Yes | No
SavePreviousVersion = Yes | No
CleanupPreviousVersion = Yes | No
KeepPreviousVersionDays = number
SavePastVersions = Yes | No
CleanupPastVersions = Yes | No
KeepPastVersionsDays = number
EstimateRequiredSpace = Yes | No
AutoReconnect = Yes | No
ReconnectAttempts = number
SpeedLimit = number
ShowBalloon = 0 for Never | 1 for On Errors | 2 for On Errors and Info
ExcludeEmptyFolders = Yes | No
ExcludeHidden = Yes | No
ExcludeSystem = Yes | No
FiltersIncluded = Matches <FileMask> ( "string" ... ) </FileMask>
FiltersExcluded = Matches <FileMask> ( "string" ... ) </FileMask>
OnFolderConnectAction = 0 for No | 1 for Analyze | 2 for Analyze and Sync
OnStartAction = 0 for No | 1 for Analyze | 2 for Analyze and Sync
OnTimerAction = 0 for No | 1 for Analyze | 2 for Analyze and Sync
TimerIntervalHours = number of hours
TimerIntervalMinutes = number from 0 to 59
OnLogoutAction = 0 for No | 2 for Analyze and Sync
OnRoboFormAction = 0 for No | 1 for Analyze | 2 for Analyze and Sync
LimitChangesPercent = number from 0 to 100
AutoResolveConflicts = 0 for disable | 1 for LtoR | 2 for RtoL | 3 for Newer Wins
AutoClearTree = Yes | No
PreAnalyzeScriptOrEmail = "string"
PostAnalyzeScriptOrEmail = "string"
PostSyncScriptOrEmail = "string"
CopyUsingTempFile = Yes | No
CopyLockedFiles = Yes | No
CopyACL = Yes | No
FastPreAnalyzeWithStamps = Yes | No
Connectoid Properties.
Appears in <Connect> ... </Connect> brackets.
GoodSync connectoid describes how to connect to the server.
Url = "string"
UserID = "string"
PasswordGarbled = "string"
Utf8 = Yes | No (all server file systems)
UseProxy = Yes | No (all server file systems)
BadCerts = Yes | No (DAV only)
WinInet = Yes | No (DAV only)
AccessPolicy = "string" (S3 only)
HostBasedAddr = Yes | No (S3 only)
ActiveMode = Yes | No (FTP only)
UseMDTM = Yes | No (FTP only)
PingControl = Yes | No (FTP only)
ImplicitMode = Yes | No (FTP only)
PrivateKey = "file-path" (SFTP only)
Decrypt = Yes | No (Windows EFS only)
Encrypt = Yes | No (Windows EFS only)
Compress = Yes | No (Windows Local only)
Uncompress = Yes | No (Windows Local only)
Program Options.
Appears in <ProgramOptions> ... </ProgramOptions> brackets.
GlobalFilterIncluded = Matches
GlobalFilterExcluded = Matches
HideToTrayOnClose = Yes | No
WarnAboutTrayOnClose = Yes | No
ShowTrayIcon = Yes | No
ShowJobListWindow = Yes | No
ShowFiltersWindow = Yes | No
ShowLogWindow = Yes | No
ShowStatusBar = Yes | No
GroupSimilarLogLines = Yes | No
CheckNewVersion = Yes | No
CreateFolderIfNotFound = Yes | No
AutoHideMiniWindow = Yes | No
LogLevel = 0 for critical | 1 for errors | 2 for info | 3 for details
LogRetainDays = NNN (number of days)
LogFolder = "folder-path"
CompareProgramPath = "file-path"
UseSmtpToEmail = Yes | No
SmtpImported = Yes (imported already) | No (import from windows)
SmtpServer = <SmtpServer> SmtpServer-property ... </SmtpServer>
ProxyServer = <ProxyServer> ProxyServer-property ... </ProxyServer>
SMTP server.
Appears in <SmtpServer> SmtpServer-property ... </SmtpServer> brackets.
Host = "IP name of SMTP server"
Port = NNN (recommended: 587 for No SSL, 465 for SSL)
UserID = "user-id for authenticated SMTP"
Password = "password for authenticated SMTP"
SecureSSL = Yes | No
SenderEmail = "sender@company.com"
Proxy server.
Appears in <ProxyServer> ProxyServer-property ... </ProxyServer> brackets.
UseWinInetProxy = Yes (use proxy of Internet Explorer / WinInet) | No (no auto proxy)
UseProxyBelow = Yes (use proxy specified below) | No (no proxy)
Host = "IP name of proxy server"
Port = NNN (port on proxy server)
UserID = "user-id for authenticated proxy"
Password = "user-id for authenticated proxy"
Command Line
GoodSync can be started from command line and everything that you can do from GUI can be done using command line options described here.
Command line call has this general format:
goodsync [<global-option>] <command> <command-options>
GoodSync Pro/Free can only start execution of existing jobs via command line,
all other command line options (create, delete, modify job) are available
in GoodSync Enterprise only.
Global Options
*** Run Mode Options ***
/help
Show help message that lists command line options and exit.
/profile=<profile-folder>
GoodSync profile folder, job list is loaded from file jobs.tic in this folder unless option /jobs is specified.
Global program options are loaded from file options.tic in this folder.
Global Log files are wriiten to this profile folder.
/jobs=<job-list-file>
If specified, then load job list from this file.
File format is TIC or TIX, depending on file extension.
/options=<options-file>
If specified, then load global options from this file.
File format is TIC or TIX, depending on file extension.
/min or /tray
Run minimized, only taskbar icon is visible.
/forcetray
Run minimized to tray, do not allow main window to show.
/miniwin
Start in mini window mode, allow main window to be shown.
/forceminiwin
Start in mini window mode, do not allow main window to show.
/exit
GoodSync will exit upon completing the action requested in command line.
/exit-ifok
GoodSync will exit upon completing the action requested in command line,
if return code is zero, that is, if no errors occurred.
If errors did occur in the last job that ran, then GoodSync will not exit.
/unatt
Unattended mode: only one job runs, no Auto jobs scheduling is performed,
no GUI except mini-window and/or tray icon,
many instances of 'goodsync /unatt' may be run.
*** Global Program Options ***
/system-tray=yes|no
Show system tray icon.
Default: yes.
/tray-on-close=yes|no
Closing GoodSync causes its minimization to system tray.
Default: no.
/check-new-ver=yes|no
Check for New Version.
Default: yes.
/create-folder-if-notfound=yes|no
Create job sync folders if not found.
Default: no.
/auto-hide-mini-win=yes|no
Auto-hide mini-window when there is no job activity.
Default: yes.
/ll=0|1|2|3|9
Set log level to N (number from 1 to 3).
0 -- critical messages (job start and stop),
1 -- error messages
2 -- informational messages (default level)
3 -- detailed messages
9 -- no log at all (valid only for gsync)
/lf=<log-folder>
Write global log to <log-folder>.
If not specified, write global log to profile folder.
Path should be an absolute path on local computer.
/log-retain-days=NNN
Number of days for which old logs are retained.
Default: 7.
/group-log-lines=yes|no
Group similar log lines.
Default: yes.
/compare-prog=<ExeFilePath>
Use this program to compare two files diff style
when user selects Compare from item context menu.
If nothing is specified then UNIX diff is used.
/proxy-auto=yes|no
Use WinInet proxy (the one used by Internet Explorer).
/proxy-host=<host-name>
Use proxy server set here by IP address or name, negates /proxy-auto option.
/proxy-port=<port-number>
Use this port on the proxy server specified in /proxy-host.
/proxy-userid=<userid>
UserID for proxy, both manual and auto.
/proxy-passwd=<password>
Password for proxy, both manual and auto.
/smtp-host=<host-name>
Use SMTP server set here by IP address or name.
/smtp-port=<port-number>
Use this port on the SMTP server specified in /smtp-host.
/smtp-secure=yes|no
Use SSL (encrypted connection) when submitting email to SMTP server.
/smtp-userid=<userid>
UserID for SMTP server.
/smtp-passwd=<password>
Password for SMTP server.
/smtp-sender=<name-email>
/list-changes=yes|no
/save-global-options
analyze /all
analyze <job-list>
sync /all
sync <job-list>
job-tmp <job-name> [<job-options>]
job <job-name> [<job-options>]
job-new <job-name> [<job-options>]
job-update <job-name> [<job-options>]
job-delete <job-name>
/analyze
/sync
/makecurr
*** Connectoid Options *** /f1=<full-folder-path>
Use quotes around paths with spaces.
/f2=<full-folder-path>
/userid1=<user-id>
/userid2=<user-id>
/password1=<password>
/password2=<password>
/encrypt1(2)=yes|no
/decrypt1(2)=yes|no
/compress1(2)=yes|no
/uncompress1(2)=yes|no
/fat-like1(2)=yes|no
/bad-certs1(2)=yes|no
/useproxy1(2)=yes|no
/wininet(2)=yes|no
/send-cookies1(2)=yes|no
/utf8-1(2)=yes|no
/temp-dest-file1(2)=yes|no
/hostbased1(2)=yes|no
/reduced-redundancy1(2)=yes|no
/server-encrypt1(2)=yes|no
/accesspolicy1(2)==<access-policy>
/block-size1(2)==<gstp-block-size>
/active1(2)=yes|no
/mdtm1(2)=yes|no
/implicit1(2)=yes|no
/pingcontrol1(2)=yes|no
/show-native1(2)=yes|no
/pk1(2)=<folder-path>
*** General Options *** /dir=2way | ltor | rtol
/move-mode=yes|no
/delete-empty-folders-on-move=yes|no
/verify-dest=yes|no
/readonly-src=yes|no
/deletions=yes|no
/save-prev-version=yes|no
/do-not-save-past-previous-local=yes|no
/cleanup-prev-version=yes|no
/days-prev-version=<number>
/save-past-versions=yes|no
/cleanup-past-version=yes|no
/days-past-version=<number>
/cleanup-old-generations=yes|no
/months-old-generations=<number>
/est-req-space=yes|no
/reconnect=yes|no
/reconnect-attempts=<number>
/speed-limit=<number>
/up-speed-limit=<number>
/balloon-msg=none|errors|changes
*** Filter Options *** /exclude=<file-mask>
/include=<file-mask>
/exclude-empty=yes|no
/exclude-hidden=yes|no
/exclude-system=yes|no
*** Auto Options *** /on-start=analyze|sync|no
/autostart-delay=NN
/on-folder-connect=analyze|sync|no
/on-file-change=analyze|sync|no
/on-logout=sync|no
/on-timer=analyze|sync|no
/timer-period=<NN>
/on-roboform=analyze|sync|no
/limit-changes=<NN>
/autoresolve=no|left|right|newer
/rename-losing-file=yes|no
/autoclear=yes|no
*** Script Options *** /pre-analyze-action=<email-addr|program-path>
/post-analyze-action=<email-addr|program-path>
/post-sync-action=<email-addr|program-path>
*** Advanced Options *** /temp-dest-file=yes|no
/compare-md5=yes|no
/copy-create-time=yes|no
/copy-acl=yes|no
/copy-locked=yes|no
/detect-moves=yes|no
/detect-folder-moves=yes|no
/check-file-stability=yes|no
/fast-pre-analyze=yes|no
/wait-for-locks=yes|no
/wait-for-locks-minutes=<NN>
/no-gsdata=yes|no
/worker-threads=<N>
/folder-links=ignore|copy-asis|drill-down
/file-links=ignore|copy-asis|drill-down
/orderid=1234567890
By default, standard browser proxy is used.
/proxy-auto=yes|no
/proxy-host=<host-name>
/proxy-port=<port-number>
/proxy-userid=<userid>
/proxy-passwd=<password>
/S
Enterprise Activation
Post-Install Activation
The following command will activate GoodSync Pro license:
This command will activate GoodSync2Go Pro license:
If global option /exit is specified then GoodSync.exe returns
Policies are used by system administrator to enforce enterprise-wide rules that limit or change GoodSync behavior.
Policies are available in GoodSync Enterprise only.
To edit policies, use the GoodSync policy template:
These policies are available:
- ForceMiniMode: Start GoodSync in MiniMode and do not allow expanding it to the full size
- NoProgramOptions: Do not allow to change program options
- DisableFTP: Disable FTP file system support
This section tells you how to setup syncing for popular applications.
RoboForm.
Outlook.
Open Outlook application locks file Outlook.pst, not allowing GoodSync to sync it.
Outlook.pst file location:
How to make Outlook store your Outlook.pst in the folder you like:
Outlook Express.
Windows Mail (Vista Only).
Quickbooks.
ACT!
GoodSync2Go is a portable version of GoodSync that is:
Otherwise it does the same things as the regular GoodSync version.
Advantages of GoodSync2Go:
Limitations of GoodSync2Go:
GSYNC is a pure command line version of GoodSync that is available only in GoodSync Enterprise.
It does not present any GUI (Graphical User Interface) at all,
so it is ideal for: GSYNC accepts exactly the same command line arguments as GoodSync.exe except as noted below.
/check-ver
/profile=<profile-folder>
/lf=<log-folder>
/ll=0|1|2|3|9
/license
/progress=yes|no
/cleanup=yes|no (default: yes)
/override-locks=yes|no
/delegate command-line
/jobs-file=<job-file-path>
/jobs-file-save=<job-file-path>
/options-file=<options-file-path>
/options-file-save=<options-file-path>
/jobs-options-registry
/jobs-options-registry-save
/default-values-tix=yes|no
GSYNC runs all jobs specified in the command line sequentially,
in the order in which jobs appear in Job List.
Return Codes for the last job that was run is returned:
Non-terminal errors do not return error code, these errors are logged to log file.
Log file is written to stdout.
GSCP is a command line interface to GoodSync File Systems,
similar to a classic command line FTP client.
Unlike an FTP client, GSCP can be used to script file operations
in all File Systems that GoodSync supports:
Windows, Win Mobile, FTP, SFTP, WebDAV, Amazon S3.
Its ideal application is programmatically running
file/folder modification sequences using abstraction of GoodSync File Systems.
This is how to call GSCP:
GSCP call examples:
Global proxy parameters:
/proxy-auto=yes|no
/proxy-host=<host-name>
/proxy-port=<port-number>
/proxy-userid=<userid>
/proxy-passwd=<password>
The following commands are accepted by GSCP once it connects to the server:
This Section used to describe how to mount a disk from the server computer to the client computer using Windows shares.
Starting with Ver 9, GoodSync Connect should be used for these purposes.
For details see GoodSync Connect writeup.
Sender of Emails: "email@company.com" or "FirstName LastName
Print List of changes detected by Analyze to the log.
Save global GoodSync options as changed by command line.
Commands
Analyze all jobs.
Analyze listed jobs, job names are separated by space.
Job names containing spaces must be enclosed in quotes like this: "Job Name"
Synchronize all jobs.
Sync listed jobs, job names are separated by space.
Job names containing spaces must be enclosed in quotes like this: "Job Name"
Create a temporary job with specified job options and Analyze/Sync it.
This job is never added to the list of jobs and it exists only in memory during execution.
This command is available only in GSYNC (pure command line) and in GOODSYNC /unatt (GUI version).
Create a new job or update an existing job with specified job options.
Create a job with specified job options.
Change specified options in the existing job.
Delete existing job.
Job Options
Analyze Job after it has been created or updated.
Analyze and Sync Job after it has been created or updated.
Make the job current in GUI when command line auto-starts it.
Left sync folder.
Full Folder Path should be in one of these formats:
C:\folder1\folder2\file.ext
\\share\disk\folder1\folder2\file.ext
ftp://server.domain.com:port/folder/file
sftp://server.domain.com:port/folder/file
http://server.domain.com:port/folder/file
Right sync folder.
For Full Folder Path format see the above item.
UserID for left sync folder.
UserID for right sync folder.
Password for left sync folder.
Password for right sync folder.
Encrypt files in the left (right) sync folder using EFS.
Decrypt files in the left (right) sync folder using EFS.
Compress files in the left (right) sync folder using NTFS compressed files.
Uncompress files in the left (right) sync folder, if they were compressed by NTFS.
This should be treated as a FAT file system, with 1-hour seasonal time shift, even though it does not report itself to be FAT.
May be needed for NAS devices that misreport their FAT disks as NTFS.
Do not check SSL server certificates for left (right) folder.
Use proxy to connect to the left (right) folder.
Use WinInet implementation of the file system in the left (right) for DAV, S3, FTP.
Send cookies for left (right) DAV folder.
UTF-8 encoding (No: ANSI) for left (right) folder.
Use temp files when writing to this folder.
Use host-based addressing (S3).
Use reduced redundancy bucket (S3).
Use server side encryption (S3).
Pre-cooked access policy for left (right) folder (S3).
Chunk size in bytes for GSTP block level delta copy. 256 Kb by default.
MD5 checksums are computed per chunk of this size. (GSTP)
Active FTP mode (No: passive) for left (right) folder.
Use MDTM command for left (right) FTP folder.
Implicit FTPS mode (No: Explicit mode) for the left (right) folder.
Ping control connection when sending large file via data connection (FTP).
Show native Google Docs/Drive files, by converting them to external format.
This makes Analyze and Sync run very slow, as even Analyze of a native file requires to convert it. (GDocs)
SFTP private key file absolute path, for left (right) sync folder.
WebDAV private certificate file absolute path, for left (right) sync folder.
Job direction: 2-way, Left to Right (ltor), or Right to Left (rtol).
Move Mode: Delete Source Files after Copy.
Move Mode: Delete Empty Source Folders after Copy.
Warn user if destination side of 1-way job changes.
Read-Only Source Side option.
Can be turned on only in 1-way Forced job.
Propagate Deletions option.
Saved files overwritten or deleted by GoodSync to _gsdata_\_saved_ folder.
Only one last version of the file is saved.
Do not save Previous and Past versions for local file systems of this computer.
Whether to cleanup Previous File Version.
Number of days for which to keep Previous File Version.
Saved past versions of file overwritten or deleted by GoodSync to _gsdata_\_history_ folder.
Many file versions are saved, one per every overwrite or delete of the file.
Whether to cleanup Past File Versions.
Number of days for which to keep Past File Versions.
Whether to cleanup old generations of files and folders.
Number of months for which to keep old generations.
Estimate Required Free Space needed for Sync.
Automatically Reconnect when folders disconnect.
Number of Reconnect Attempts for the above option.
File Copy Speed Limit in Kb/sec.
If /up-speed-limit is set then this is Download speed limit.
if /up-speed-limit is not set then this is both Upload and Download speed limit.
Upload Copy Speed Limit in Kb/sec, when separate from Download speed limit.
Show Balloon option.
Exclude filter.
File Mask is a |-separated list of patterns such as *.obj or \folder\file.
Several /exclude options may be provided, their values will be glued together, separated by '|'.
Include filter.
File Mask is a |-separated list of patterns such as *.obj or \folder\file.
Several /exclude options may be provided, their values will be glued together, separated by '|'.
Exclude Empty Folder option.
Exclude Hidden Files and Folders option.
Exclude System Files and Folders option.
Automatically Analyze/Sync on Start of GoodSync.
On Start delay in seconds.
Automatically Analyze/Sync on Folder Connect.
Automatically Analyze/Sync on any File Change inside local sync folders.
Automatically Sync on Logoff from Windows account.
Automatically Analyze/Sync on Timer (every N minutes).
Timer period in minutes for /on-timer option.
Automatically Analyze/Sync on RoboForm command.
No Sync If Too Many Files Changed option.
NN is a number from 0 to 100.
Auto-Resolve Conflicts option:
No Copy, Left wins, Right wins, Newer wins.
Rename losing file in the conflict, instead of deleting it.
Auto Clear tree after Sync.
Pre Analyze Program.
Post Analyze Email or Program.
Post Sync Email or Program.
Use temporary files when copying from source to destination,
so that sudden interruption of copy does not result in corrupted file.
Compare MD5 checksums in Analyze.
Copy File/Folder creation time.
Copy ACL security attributes.
Copy Locked Files using Shadow Copy Service.
Detect File Moves and Renames, instead of doing Copy + Delete.
Detect Folder File Moves and Renames.
Check Analyze-Sync File Stability on Remote File Systems option.
Fast Pre Analyze Mode.
Wait for Locks, instead of producing error.
Waiting period for Wait for Locks, in minutes.
No _GSDATA_ folder for this job.
Number of thread to execute in parallel on Sync.
Folder symbolic links processing mode.
Folder symbolic links processing mode.
Installer Options and Activation of Enterprise Version
The options below are installer options, that is, they are specified for the installer GoodSync-Setup.exe, not for GoodSync.exe.
/username="John Smith"
If /orderid and /username options are specified then
GoodSync Pro is automatically activated upon install
using the specified OrderID and User Name.
Note that this is online activation, so GoodSync.exe should be able to
get to www.goodsync.com.
You can set proxy authentication or use different proxy by setting these options:
Use WinInet proxy (the one used by Internet Explorer).
Use proxy server set here by IP address or name, negates /proxy-auto option.
Use this port on the proxy server specified in /proxy-host.
UserID for proxy, both manual and auto.
Password for proxy, both manual and auto.
Run installer silently, no input from user is requested.
For those deploying GoodSync in an Enterprise environment,
you can install and activate using the above mentioned
parameters of OrderID and Company Name from the purchase. An example being:
Activation of GoodSync Pro or Enterprise can be performed after the product has already been installed.
Return Codes
integer return code that describes result of the last job execution:
0 -- Analyze or Sync success
1 -- Analyze User Stop
2 -- Analyze with Terminal Error
3 -- Analyze with Non-Terminal Errors
4 -- Analyze with Conflicts but no Errors
5 -- Analyze with Conflicts and Errors
11 -- Sync User Stop
12 -- Sync with Terminal Error
13 -- Sync with non-Terminal Errors
Policies
- Select Start -> Run, type: gpedit.msc, press Enter.
- In the tree go to 'Local Computer Policy' -> 'Computer Configuration' -> 'Administrative Templates'.
- Right-click 'Administrative Templates', select 'Add/Remove templates' -> 'Add...',
- Browse for goodsync.adm in 'Program Files\Siber Systems', click 'Close'.
- The new sub-tree with GoodSync policies will appear under 'Administrative Templates'.
- To enable a policy, select this policy in Editor, right-click it, select Enabled.
- Policy will become effective after GoodSync restart.
- ForceTray: Start GoodSync minimized to tray and do not allow expanding it to the full size
- NoAutoUpdate: Disable AutoUpdate
- NoJobListEdit: Do not allow to add/delete/rename jobs
- NoJobEdit: Do not allow to change job paths or options
- NoJobOptions: Do not allow to change job options
- NoOptionsGeneral: Do not allow to change General job options
- NoOptionsFilters: Do not allow to change job filters
- NoOptionsAuto: Do not allow to change job auto options
- DisableSFTP: Disable SFTP file system support
- DisableDAV: Disable WebDAV file system support
- DisableS3: Disable Amazon S3 file system support
- DisableWinCE: Disable Windows Mobile devices support
Syncing Specific Applications
Latest versions of RoboForm have command RoboForm -> Tools -> Sync Data
that setup sync job and start GoodSync automatically.
If setting up manually,
you should synchronize folder My RoboForm Data between two computers
that you are syncing, or between computer and USB drive with RoboForm2Go.
These computer-specific files will be excluded from sync: license.rfo, cache.rfo, mru.rfo.
You may include file options.rfo, it contains RF options.
Synchronize file Outlook.pst that contains Outlook data.
Outlook must be closed for this file to be unlocked.
If you sync your Windows Mobile phone or Pocket PC with desktop, then
Outlook.pst file is locked while your phone is plugged in.
Pull out your phone from the cradle for Outlook.pst to be unlocked.
* XP: C:\Documents and Settings\User Name\Local Settings\Application Data\Microsoft\Outlook.
* Vista and Windows 7: C:\Users\User Name\AppData\Local\Microsoft\Outlook.
* Move Outlook.pst from the standard folder to the folder where you want it to be.
* Start Outlook -- it tells you that it cannot find Outlook.pst.
* Outlook offers you to specify location of Outlook.pst.
Select the folder where Outlook.pst is now.
Outlook Express (OE) stores its data in several files, located in OE data folder.
To find where this folder is, open OE and go to
Tools -> Options -> Maintenance -> Store Folder.
It will show you where the data files are and you can change this
location of the folder too.
Sync the entire folder.
Sync only when OE is closed, as OE may lock the files it uses.
Sync Windows Mail data folder.
It is located at
C:\Users\User Name\AppData\Local\Microsoft\Windows Mail
Quickbooks (QB) stores all its data in one file that has format
CompanyName.QBW.
This is the file to sync.
Quickbooks backup files have extension .QBB.
We recommend to back up the QBW file using native QB Backup command
and to sync the backup file too, for extra protection.
Quickbooks locks the QBW when opened, so you must close QB before
syncing.
Even if you opened QBW file to only view it and not to modify it,
QB will still modify this file.
So you cannot use GoodSync for 2-way syncing of *.QBW files,
you can do only 1-way backup.
Act locks its data files and when you close ACT, they are still locked.
This is because ACT! installs a SQL service that is active
even when the ACT! application is not running.
This service keeps ACT! data files locked.
You should stop the MSSQL ACT! service temporarily to be able to sync these files:
Go to Start/Control Panel/Administrative Tools/Services,
locate the service named "MSSQL$ACT7" (or something similar),
stop it, do the synchronization, and then start the service again.
Alternatively, you can permanently exclude ACT! files from synchronization.
GoodSync2Go: Portable version
- Installed on removable drive (USB key or Portable Hard Drive), not on computer.
- Runs from the removable drive on which it is installed.
- Stores list of jobs and other settings on the removable drive.
- Licensed per removable drive, no per-computer license is required.
- Portable list of jobs, residing on your USB device.
- Portable license, residing on your USB device.
- GoodSync Connect server part does not work, because service installation is required.
- On Schedule Auto option does not work, because Windows Scheduler cannot run GoodSync2Go jobs.
- Start GoodSync when Windows starts Auto option does not work.
- Copy Locked Files option does not work, as GoodSync must install a DLL for that.
GSYNC: pure Command Line version
If set then check whether this GSYNC version is current, report to stdout.
GoodSync Profile folder.
This is folder from which GoodSync reads job list file, global options file, and to which it writes global logs.
If not specified, profile folder is C:\Users\User Name\AppData\Roaming\GoodSync or similar location on XP.
Path should be an absolute path on local computer.
Write global log to <log-folder>.
If not specified, write global log to profile folder.
Path should be an absolute path on local computer.
Set log level to N (number from 1 to 3).
0 -- critical messages (job start and stop),
1 -- error messages
2 -- informational messages (default level)
3 -- detailed messages
9 -- no log at all.
If set then show current license and exit.
Show progress messages when downloading or uploading files.
Default: No.
If set to 'yes' then cleanup old log files and temporary files when GSYNC starts.
If set to 'no' then do not perform cleanup when GSYNC starts.
Old log files is defined as log files that are older than number of days to retain the logs option.
You should use this option only if there is no other GoodSync or GSYNC processes running on this computer,
as this option deletes all qualifying log and temp files, including that of other running GoodSyncs.
If set to 'yes' then override lock files on Analyze.
Lock file is created in sync folder by a running Sync job and it is deleted when the job finishes.
Default: No.
#if 0
If GoodSync.exe runs already then delegate command-line execution to GoodSync.exe.
#endif
If defined then load job list from the specified file in TIC or TIX format, depending on file extension.
If not defined then load job list from file jobs.tic in the profile folder.
If defined then save job list to the specified file in TIC or TIX format, depending on file extension.
If not defined then save job lists to the same medium (file or registry) from which it was loaded.
If defined then load global options from the specified file in TIC or TIX format, depending on file extension.
If not defined then load global options from file options.tic in the profile folder.
If defined then save global options to the specified file in TIC or TIX format, depending on file extension.
If not defined then save global options to the same medium from which it was loaded.
If defined then load job list and global options from registry.
If not defined then load job list and global options from files in TIC or TIX format.
If defined then save job list and global options to registry.
If not defined then save job list and global options to the same medium (file ore registry) from which it was loaded.
If set then save options that have default value, when saving in TIX format.
If not set then do not save options that have default value, when saving in TIX format, for shorter TIX file.
0 - Normal completion: Analyze with No Change or Sync with Success.
1 - Analyze with Terminal Errors, error text written to stdout as last line.
2 - Sync with Terminal Errors, error text written to stdout as last line.
Negative - error when initiating GSYNC.
GSCP: Command Line File System client
gscp URL [userid] [password] [sftp-private-key]
where URL designates file system and server to connect to.
UserID and Password may be embedded in the URL or specified separately after the URL.
4th optional argument is path to SSH private key used in SFTP, then 3rd argument is this key passphrase.
gscp \\netshare\volume\folder share-userid share-password
gscp wm://myphone/folder
gscp ftp://user:password@server.company.com
gscp ftp://server.company.com user password
gscp https://dav-server.storage-co.com userid mypass
gscp sftp://sftp.server.com userid passphrase c:\keys\ssh-private-key.ppk
You can use options that define proxy, they must follow the main URL and credentials.
Use WinInet proxy (the one used by Internet Explorer).
Use proxy server set here by IP address or name, negates /proxy-auto option.
Use this port on the proxy server specified in /proxy-host.
UserID for proxy, both manual and auto.
Password for proxy, both manual and auto.
Command Argument(s) What it does
quit Exit program
ls List the current remote directory
isf file-name Test whether the specified remote file exists
isd dir-name Test whether the specified remote dir exists
pwd Print current remote directory
cd dir-name Change remote directory (no name means connect root)
pld Print current local directory
lcd dir-name Change local directory
md dir-name Create remote directory
rm file-name Delete remote file
rmd dir-name Delete remote folder
rmrf dir-name Recursively delete remote files and folders
mv file-name-1 file-name-2 Rename or move remote file/folder
put file-name Upload local file to remote folder
get file-name Download remote file to local folder
help Show this list of available commands
info Remote file system info
open url Connect to another file system
close Disconnect from current file system
Mounting Folder via Network

