The information on this page refers to an older version of DropSync

Click here to view the equivalent page for DropSync 3


Intro Video

If you're new to DropSync this video is a good place to start

Forums

DropSync has an online discussion forum where you can post questions, suggestions or anything else related to DropSync

Contact

If you can't find the answer to your question on this page, please get in touch by sending an email to iracooke@mudflatsoftware.com

Topics and Common Questions

What is a Synced Place?

In DropSync the term "Synced Place" refers to two things. Firstly, it refers to a physical location where you want to store data (eg a remote computer, a USB stick or an external hard drive). Secondly, it refers to a bookmark where all the settings for syncing to and from that location are stored for future use.

DropSync distinguishes between two basic types of synced place, those that are accessible from the finder on the local machine, and remote computers that can only be accessed via a secure shell (SSH) connection.

What is a root path?

Every Synced Place in DropSync has two root paths associated with it. These root paths define a pair of directory trees that get compared when syncing. One of the root paths will be local (ie it specifies a directory on your computer) and another will be on the Synced Place.

Once these two root paths are specified, individual folders (sub-trees) can be selected for syncing, provided they already exist under the root path (either at the Synced Place or locally).

The following screenshot shows a directory tree being browsed in DropSync, and illustrates how the current root path affects selection of items for syncing

Browsing directory tree

When DropSync performs a sync on a particular selected item (folder under the root folder) the following things occur. (Note that both local and Synced Place folders can act as sources or destinations depending on the direction of the sync).

  1. DropSync checks to see if the folder is present at the source. If it is not present then the sync will be aborted
  2. DropSync checks to see if the folder is present at the destination and if it isn't it creates it.

    Note that this check is performed relative to the two root folders.

    To illustrate this consider the following example;

    • The item exists at /Users/iracooke/Documents/Finances on the source
    • The root path at the source is /Users/iracooke/
    • The destination root path is /Volumes/USB DISK/On the Go/
    • The item should be present (or will be created at) /Volumes/USB DISK/On the Go/Documents/Finances at the destination
  3. Finally, the Sync is performed, updating items at the destination based on what is present at the source

How to propagate deletions (mirroring)

Rephrasing this topic as a question it would be "If a file is deleted on one side of a Synced Place, how can I setup DropSync to delete it on the other side as well?"

When DropSync performs a sync it updates the files at the destination if they have changed at the source. If a file has been deleted at the source, the default setting is not to delete that file at the destination. It is possible to change this behaviour so that when a file is deleted at the source it will be deleted at the destination as part of a sync.

  1. Globally enable deletions (On by default. If you have not previously disabled deletions this step can be skipped)

    Open preferences and click the checkbox next to Allow file deletion as in the screenshot shown. DropSync Preferences. Screenshot

  2. Turn on deletion for individual synced items in each desired direction

    Once the global option has been enabled you should see two additional columns appear in the DropSync main window. Initially the columns will be empty, but clicking beside an item in one of the columns will toggle deletion/mirroring for files and folders inside that item in a particular direction. The screenshot below shows a setup where deletion has been enabled when syncing from left to right but not from right to left. Mirroring turned on. Screenshot

    Enabling the right pointing red tipped arrow means that files deleted locally (left) will be deleted on the remote (right) side when syncing from left to right.

    Enabling the left pointing red tipped arrow means that files deleted on the right will be deleted on the left during a right to left sync.

    Important Note: When deletion is enabled for an item only files and folders inside that item will be affected. The selected item itself will not be deleted as a result of the sync.

What if I accidentally delete a file?

The default for DropSync is not to delete files, however even if this option is turned on (see above) it may be possible to retrieve deleted files.

When deleting files DropSync behaves differently depending on whether the deletion occurs during locally or remotely

Tutorials

Syncing documents, photos etc between two macs on a local network

This tutorial shows how to setup a shared root folder between two macs and select typical items for syncing, such as documents, photos and music. It is important to remember when syncing music and photos however that DropSync acts just like a very efficient copying program. This means that (for example) it will not merge, or resolve conflicts between two itunes or iphoto libraries. Care should therefore be taken when syncing such items.

  1. Enable sharing of the home directory on one of the two macs. This is done by selecting System Preferences -> Sharing and then turning File Sharing on. Then click the + icon to add a new shared folder and select your home folder. Set the permissions to Read & Write for the owning user. Enabling File Sharing. Screenshot
  2. On the other computer start DropSync and create a new Synced Place. Select Via Finder as the method of connection
  3. Using finder, locate the shared folder on the other computer and connect (you will need to supply a password for the other computer). This should result in a mounted disk icon appearing on the desktop to represent the shared folder on the other computer
  4. Drag and drop the shared folder icon from the desktop to the right hand side of DropSync's browser window
  5. You should now be able to select items for syncing by clicking the check boxes beside them. If you select an item that exists in both places it will appear selected on both sides of the browser. If it exists in only one place you can still select it, and it will be created on the other side after the first sync.
  6. Finally. Take care when syncing, especially for the first time, that you do not accidentally overwrite different versions of a file.

Syncing with remote servers using SSH

  1. Setup Access

    In order to sync with a server, it must satisfy the following requirements

    • It must have rsync installed and with a version greater than or equal to 2.6.9. The vast majority of unix/linux and macintosh computers will satisfy this requirement.
    • The remote computer must allow shell access via SSH. Macs can be accessed via SSH after enabling "Remote Login" in "System Preferences" (see below). It is important to be aware that doing this will allow anyone to access the computer remotely if they know it's IP address, so be sure that all user accounts on the system have secure passwords.
    Mac OSX screenshot showing how to enable remote login. Screenshot
  2. Setting up the Synced Place:

    Select Synced Places -> New from the DropSync main menu. In the window that appears, name the Synced Place and then select "Via Remote Login" as the method of connection. Click "Next"

    Setting up a remote connection. Screenshot

  3. Connecting to the Server:

    The final step involves entering connection details for the remote server. If you have a remote server setup that allows ssh access you'll be able to access that server using a domain name like (for example) myremoteserver.com or www.myremoteserver.com, or alternatively by using its IP address. For this example imagine we had a remote server that was accessible via ssh under the domain name myremoteserver.com and with a username "myusername". Once you've entered details, including a password for the connection, click "Test" and DropSync will run some checks to see if it can connect properly.

    Testing login details for a remote server

    Once you've tested the server and seen that everything works click "Finish" and DropSync will create a new Synced Place. DropSync will connect to the Synced Place and display the remote files on the right hand side

    Connected. Screenshot

    Once connected you should be able to navigate to, and set an appropriate root directory and then select items on the remote server, or on your local system for syncing.

  4. Generating the Preview and Performing the Sync:

    Once your SSH Synced place has been set-up you should be able to proceed with preview generation and syncing just as for any Synced Place. In the case of a remote server however it is important to be aware that the sync can be interrupted if there is a network failure. If the server is slow to respond, or if there are a very large number of files to consider it is possible that the connection will timeout before DropSync has time to create an initial file list. The timeout for this initial list generation, and for connecting to servers can be changed in preferences.

Scheduling syncs with iCal and Applescript

Since DropSync is fully scriptable it's syncs can easily be automated and scheduled to run at certain times. The simplest way to set this up is using the "run script" feature of iCal.
  1. Writing the script

    A template script for running a single sync down from a disk called mudflats is shown below. The script code itself is relatively self explanatory. The first line opens the DropSync application if it isn't open already. Then we set a variable called currentStore to the store we want to sync. A Store is equivalent to a Synced place. In this case the store is called "mudflats" and is one we have previously created using the GUI (It's also possible to create stores using AppleScript). The script assumes that a synced place called "mudflats" exists in DropSync so you will need to change "mudflats" in the script to the name of a synced place you have already configured. Subsequent lines initiate a sync in the downward direction and then wait a specified time, or until the sync in completed before quitting DropSync.

    (* Running a sync using DropSync and Applescript 
    Demonstrates how to launch DropSync, select a synced place for syncing, and then run a sync. 
    DropSync supports much more applescript functionality than is demonstrated here. 
    
    Consult the DropSync.sdef file for complete details.
    
    To use this script you will need to modify it to reflect your own setup. 
    The Applescript Editor utility can be used to run, edit and debug your scripts.
    
    The script can then be run from terminal using the osascript command, 
    or can be automatically launched by linking it to a recurring event in iCal.
    *)
    
    
    tell application "DropSync"
    	launch
    	
    	(* Select the synced place (store) the you want to sync by using its name *)
    	set currentStore to store named "mudflats"
    	
    	(* Initiate the sync in the desired direction *)
    	sync currentStore direction Downward
    	
    	(* All the steps below are only required if you want to wait 
    	for the sync to complete and quit DropSync when the sync is finished *)
    	set timeused to 0
    	set timeoutsecs to 7200 -- 2 hours
    	
    	(* Poll every 10 seconds to see if we are complete *)
    	repeat until syncing of currentStore is equal to false or timeused > timeoutsecs
    		delay 10
    		timeused = timeused + 10
    	end repeat
    	
    	(* Tell Dropsync to quit if it is finished the sync *)
    	if syncing of currentStore is equal to false then quit
    	
    end tell

    Once you've finished editing the template script try running it from Applescript editor. It should open DropSync, perform the desired sync for you and then quit. Once you've got everything working, save the script to a convenient location.

  2. Scheduling the script with iCal:

    Open iCal and create a new event called "backup" with it's alarm set to run script. This will then open a file window asking you to find the script you want to run. Select the script file created earlier.

    Scheduling using iCal Screenshot

    To setup a regular backup simply use a repeating iCal event (edit the repeat property of the iCal event in iCal)