SyncBack4all synchronizes two or more folders and its files, that is, SyncBack4all 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.
SyncBack4all can be used in these everyday scenarios:
Synchronize notebook computer to desktop computer via local network.
Keep user files in sync on work and home computer via USB key.
Synchronize remote FTP and SFTP servers over the Internet.
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 SyncBack4all successfully addresses.
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.
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, SyncBack4all will propagate this deletion to the other side of sync job by deleting this file on the other side. The sophistication of SyncBack4all 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. SyncBack4all can handle this situation correctly too, it will propagate the older file version, if it detects that user made such replacement.
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). SyncBack4all can perform Chained Syncing correctly.
You can use SyncBack4all 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 SyncBack4all on Work Computer and Sync between Work folder and USB disk.
Remove USB disk from Work Computer and insert it into Home Computer.
Start SyncBack4all on Home Computer and Sync between USB disk and Home folder.
Typical SyncBack4all user experience consists of these stages:
2.1.1 Select Folders To Synchronize
User selects left and right folders to synchronize.
Done only once when Job is setup.
2.1.2 Comparative Analysis
Happens when you click the Analyze buttons.
SyncBack4all computes the changes that must be made to make folders the same.
2.1.3 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.
Cross means Propagate Deletion. For instance, Left to Right Crossed Arrow means that SyncBack4all 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.
Other possible directions are indicated by gray and disabled arrows or circle.
You can change direction of sync by clicking on the desired arrow.
Happens when you click Run 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.
Each synchronized pair of folders is memorized in a Task. A Task also has a set of options that control various aspects of synchronization process. Each Task has a name that is requested when Task is created.
SyncBack4all memorizes list of Tasks and all their parameters per computer. Tasks can be created, deleted, renamed, analyzed and synced.
To create a new Task, select Add -> New Task from the task panel.
To switch between Tasks, click Task tab.
Analyze, Run, and Close/Stop/Cancel buttons are related to the current Task.
To delete a Task, select the task from the Home tab and click Remove.
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.
For SyncBack4all, backup is a regular synchronization that happens one-way, as long as user does not manually change backup files which can cause conflicts. 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 in the same folder as source folder. It can be on removable disk (USB disk or portable hard drive) or another computer.
Create a new sync task and select one of the three backup sync methods.
Let SyncBack4all do the first backup by synchronizing backup source folders to backup destination folder.
After that, whenever you want to backup, just sync backup source folders to backup destination folder.
When you need to restore, backup destination folder contains an exact copy of the backup source folder, as of the time the backups were made.
Main Window contains the User Interface displayed to the user. It contains:
Home Tab: this is where you can create new tasks and start existing tasks.
File Tree: this is where modified files and their sync directions are shown.
Mini-Window or Mini-Mode is super-compressed summary of what is going on in SyncBack4all.
It shows only status of all running jobs.
Click minimize button to switch from Main Window to Mini Window.
Click Maximize button in Mini Window to switch back to Main Window.
Action is a file/folder operation that is:
Recommended by SyncBack4all after Analysis is complete,
Changed by User (that is, you), and finally
Executed when you click the Run 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.
This is the most fundamental action of SyncBack4all. It copies files from Left to Right or from Right to Left. This action is represented by a green arrow in the direction of the copy.
If SyncBack4all detects that a file has been deleted on the Left then selecting the delete Right action means that this file will be deleted from the Right. Likewise if SyncBack4all detects that a file has been deleted on the Right then selecting the delete Left action means that this file will be deleted from the Left. This way SyncBack4all propagates a deletion to the target folder. This action is represented by a green cross on the side of the file to be deleted.
This action tells SyncBack4all not to do anything for this pair of files. Analyze sets this action to a pair if files are the same on both sides.
If you changed the file on both sides of the synchronized folder pair then SyncBack4all cannot determine which version is preferred (because it does not know which set of changes should win and which should be dropped) and SyncBack4all then declares a conflict.
By default, conflict is a no-copy action. But you can change conflict into Left To Right or Right To Left Copy, thus declaring one side a winner.
SyncBack4all 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.
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. SyncBack4all ignores differences of +- 2 sec in modification time.
SyncBack4all 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.
All Action commands are available by right clicking on the item in the tree view.
Left to Right
Set action to Copy File Left to Right.
If the Left file exits then it will be copied to the Right.
If the Left file does not exist then the Right file will be deleted.
Right to Left
Set action to Copy File Right to Left.
If the Right file exits then it will be copied to the Left.
If the Right file does not exist then the Left file will be deleted.
Do Not Copy
Set action to No Copy.
Set action to what was recommended by Analyze.
File will be copied to the right side.
File will be copied to the left side.
File will be deleted from the right side.
File will be deleted from the left side.
Files in the Folder will be copied to the right side.
File in the Folder will be copied to the left side.
Folder and all File will be deleted from the right side.
Folder and all File will be deleted from the left side.
Numbers next to the copy arrows indicate the number of files being copied in that direction.
Item is in sync.
User set this item action to No Copy.
Conflict. SyncBack4all can not decide how to sync this item, likely because item was modified on both sides.
Item has been synchronized.
By default SyncBack4all synchronizes all files and folders that are not hidden and not system. Hidden and system files can be synchronized too, if the option to do so is turned on.
You may want to exclude some files and folders from synchronization by using Exclusions mechanism. For instance, object files *.OBJ and editor backup files *.BAK are usually excluded.To exclude the file or group of files add a filter to the Task:
Select the task you wish to add a filter to from the task list on the Home tab.
Select the edit button.
Click next until you reach the Exclude Filters sections of the task wizard.
To exclude read-only, hidden, or system files tick the appropriate box. To exclude a specific file name select the Add Name button and enter the name of the file you wish to exclude.
To exclude a specific file type (extension) select the Add Type button and enter the file extension you wish to exclude.
To exclude a specific folder name select the Add Name button and enter the name of the folder you wish to exclude.
By default SyncBack4all 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 SyncBack4all to see these files, uncheck "Exclude hidden files" and "Exclude system files" in Job -> Options -> Filters.
Not only can SyncBack4all synchronize disk and net shares mounted on your computer. It can also synchronize with Remote File Systems (FS) accessible through FTP and Secure FTP (SSH) protocols, Removable storage devices, and Windows Mobile devices.
To select or change your sync folder, start the Task wizard by selecting Add or Edit from the Home Tab.
Click Next until you reach the Source or Target Connection section.
Select the Add or Select button.
The Select Folder dialog appears.
File System Type appears in the left navigation pane of the Select 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 User Name, Password and maybe other connection data (Remote FS only).
Then click Connect button to connect to the server and test whether the data you entered is correct.
If connection is successful, the Home Folder of the User Name you used is shown and all folders below 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 New Folder button.
In this Section we provide detailed description of Local and Remote File Systems that SyncBack4all supports.
Disks mounted directly on this computer.
Naming convention used: Windows "disk letter + path", example: C:\folder1\folder2\file.ext
Since no authentication is required and disks are always connected, the folder tree is shown right away (clicking Connect button is not needed).
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 SyncBack4all. Sync with Palm/Treo disk mounted to your Windows desktop, it will appear in Local 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 Local tab.
For USB Mass Storage Devices and Media Players it is recommended that you use the Removable tab.
Net Shares (remotely mounted disk volumes) available through Microsoft networking.
Naming convention used: Windows UNC, example: \\share\disk\folder1\folder2\file.ext
List of available network shares is shown, then you can drill down to the sync folder.
Enter the Username and Password if your share is password-protected by a User Name and Password that is different from the User Name and Password of the Windows account you are logged in to.
You can mount shares both from Local Network (LAN) and from remote computers (WAN).
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.
Disks mounted on this computer.
Naming convention used: "disk name + path", example: MyDisk\folder1\folder2\file.ext
Select the device you wish to connect to from the Drive drop down.
Since no authentication is required, the folder tree is shown right away.
As the drive letter for a removable device can change, for example it may be E: on one use and F: another time, SyncBack4all uses a unique hardware identifier to recognize removable devices. This means that SyncBack4all will always sync the specified device regardless of the drive letter assigned to it by Windows.
Remote FTP server.
Naming convention: URL without ftp:// or ftps:// prefix, example: server.domain.com/folder1/folder2/file.ext
User Name and Password are usually required.
If User Name and Password are empty, SyncBack4all uses User Name "anonymous" and a blank Password.
Remote SSH server with SFTP capability.
Naming convention used: URL without sftp:// prefix, example: server.domain.com/folder1/folder2/file.ext
Works only with SSH-2 servers, not with SSH-1 servers.
Authentication data is always required, and it comes in two different varieties:
User Name and Password.
Just like in FTP, User Name and Password are required to log in.
User Name and 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.
Windows Mobile phones and Pocket PC devices.
Naming convention used: "device name + path", example: MyPhone\folder1\folder2\file.ext
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 SyncBack4all is running.
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.
Each Job has a set of options that modify the behavior of synchronization algorithm for this job.
The name of the sync task, a descriptive name is recommended, this will help you recall the aim of the task when you next see the name.
Synchronization can be one of the eight ways, listed below.
Update target folder only
Update the target folder if the file was changed in the source. Please note that Sync will skip the file even if it's changed in the target folder.
Update target folder and delete obsolete files from target folder
Update target file and delete the files which didn't exist in source folder, conflict remind.
Mirror (Make target exact same as source folder)
The target folder will be an exact copy of the source folder. This means that all modifications in the target folder will be discard. Use with caution.
Smart Bi-directional sync
Copy changed files from source to target, delete files from source if they don't exist in the target, and vice versa. Note: If you delete a file from one side, it will also be deleted from another side.
Expanded Bi-directional sync (Merge)
Similar to the Smart Bi-directional sync. The difference is it will not delete obsolete file. Instead, if a file exists in one side only, it will be copy to another side.
Backup (Copy source to destination)
Copies files from the source directory to the destination directory. Only new and modified files will be moved.
Backup (Compress source into a single ZIP file)
Compresses the source files into a single Zip file. This option is useful if you want to have a compressed copy of your source files.
Backup (Incremental backup, with compression)
Compresses the source files into the compressed package. First time all source files will be included into the package. Next time only new and modified files will be included. Backup files will have the same name combined with the current date.
SyncBack4all allows you to select common source paths, for example your Desktop of My Documents folder.
Alternatively you can select a number of specific folders using the Select Folder Manually function.
Select the Add button on the Source Connection panel, then browse to the desired folder.
Tick the folders you wish to sync with your target folder and select OK.
Excluded (empty by default)
Files and folders that match any line on this list, will be excluded from synchronization.
*.obj matched all files with .obj extension.
CVS matches all files and folder named CVS, anywhere in sync folders.
Exclude Read-Only Files and Folders
Exclude files and folders that have READONLY attribute.
Exclude Hidden Files and Folders
Exclude files and folders that have HIDDEN attribute.
Exclude System Files and Folders
Exclude files and folders that have SYSTEM attribute.
SyncBack4all can be made to run automatically by using this tab.
One or more events may be checked to cause automatic Sync:
On Windows start
Sync this task when Windows starts, SyncBack4all must be configured to start with Windows.
On Windows Shutdown
Analyze and then Sync this task just before Windows shutdown.
Note that Windows may try to kill SyncBack4all on shutdown. Normally Windows sees that SyncBack4all is performing file operations and responds to messages and it would let SyncBack4all finish. However this cannot be guaranteed.
On Disk Insert
Sync this task when a removable device is connected to your PC.
SyncBack4all can detect when either the source or destination files change, this means that making a change to one file will automatically be replicated on the other side.
Note that this method is not recommended for FTP and SFTP connections as it will require considerable bandwidth.
Periodically (On Timer)
Sync this task periodically, every hours, minutes, days, or weeks.
You may specify a start date, that the schedule becomes active after.
Start time can be scheduled to specify when in the day to start the task.
Do Not Run
If you have schedules a task to run periodically you can specify specific days that the task should not be run on.
By default scheduled tasks can run on any day.
Auto Options work Only if SyncBack4all is Running
SyncBack4all must be already running for schedules events to work.
So you should turn on these global program options:
- Start SyncBack4all when Windows starts.
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 second event is ignored.
Save previous versions of deleted/replaced files (checked by default)
If checked then before overwriting a file in the source or target folder the original is moved to a backup folder to allow you to recover the original should you decide the change was not wanted.
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 files to a temporary file in the 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 the destination volume has little free space, so that keeping two copies of one big file may overflow it.
Estimate disk space required (checked by default)
If checked SyncBack4all will estimate the amount of disk space needed to perform the synchronization process. This allows you to check that enough space is available before running the task.
Copy Locked Files (checked by default)
If On then copy from locked files using Volume Shadow service.
If Off then return Cannot Copy Locked File error.
Available on Vista and XP but not on Windows 2000.
SyncBack4all can copy only FROM locked file but never to LOCKED file.
Reconnect job folders
If checked SyncBack4all will attempt to reconnect to a remote server if the connection is lost, for example due to loss of internet connection.
Case-Sensitive File and Folder Names
If On then FILE.txt and file.txt will be treated as different file names.
Renames that change only file name case can be propagated even in Windows with this option On.
If not checked then FILE.txt and file.txt is treated as the same file name.
When changing this flag, you must Reset State for this task and re-sync all files.
Specifies the buffer used when transferring files between two systems.
This specified the default action to be taken if SyncBack4all detects a conflict between the source and destination files, for example if both files have been changed since the last sync.
No action is taken, files on both sides will remain unchanged.
Copy to Source
SyncBack4all transfers the file from the target to the source.
Copy to Target
SyncBack4all transfers the file from the source to the target.
SyncBack4all will select the most recently updated file and use that to update the older file.
These global options apply to all jobs, to the entire SyncBack4all program.
Start SyncBack4all when Windows starts (off by default)
If checked then Windows starts SyncBack4all automatically when you log in to your Windows account.
Started this way, SyncBack4all shows only taskbar icon and no main window.
You can double-click the icon to call up the main SyncBack4all window.
Turn this option on if you run jobs automatically, that is, if you checked any boxed in Schedule tab.
Specify the maximum number of running tasks, this prevents lots of scheduled tasks from running at the same time and having a detrimental impact on your systems performance. If a task is scheduled and cannot be run as too many tasks are already running it will be queued and run when a task finishes.
Program priority can be set, this specifies how SyncBack4all should function when other programs are running, to make tasks run faster you can increase the priority, or to allow SyncBack4all to run in the background you can decrease the priority.
Log file size
If set then the log file will be restricted to a specific size. To unrestrict the size the log file can grow to enter zero.
Run missed scheduled tasks
If checked then scheduled tasks that were missed, for example because the computer was turned off, will be run when SyncBack4all is next launched.
Check for updates (on by default)
If checked then SyncBack4all will contact our servers daily to check whether the new version is available.
If during a sync the connection to the source or target is lost SyncBack4all can automatically attempt to reconnect. Enter the maximum number of reconnection attempt and the time between attempts before SyncBack4all cancels the task and reports the error.