Take the 2-minute tour ×
Super User is a question and answer site for computer enthusiasts and power users. It's 100% free, no registration required.

How can I sync all my Desktop files to Dropbox, so that my desktop still feels, looks and works like a normal Desktop?

share|improve this question
    
Please be more specific, are you saying you want to assign you're desktop folder as the location of your dropbox. Because I think the closest you can come to that is placing your dropbox folder inside of your desktop folder –  rubixibuc Feb 17 '12 at 5:14
    
If you want you're desktop folder to be copied they're automatically you can write cron script that should be able to do that for you daily. –  rubixibuc Feb 17 '12 at 5:17
    
how to do the script? –  user494461 Feb 17 '12 at 8:34
    
Some of these solutions seem over the top. Expecially since on a previous Dropbox install, I had set the Desktop as the actual Dropbox folder on install. Now on a new OSX host, the setup mechanism insists on creating a folder called Dropbox in the folder you select. It would be more useful to setup the complete desktop folder directly as the Dropbox folder on my subscribed 50GB Dropbox account. –  user119762 Feb 23 '12 at 13:04
    
Can't you just remove the Desktop dir and replace it with a symlink to somewhere in the dropbox folder? –  houbysoft Oct 31 '12 at 0:35

3 Answers 3

up vote 8 down vote accepted

Using Folder Actions

This will – whenever you add a new file – synchronize your Desktop with a Dropbox folder of your choice. First, create the Dropbox folder where you want your desktop files to stay, e.g. ~/Dropbox/Desktop.

Then, open up Automator.app and create a new Folder Action. On the top, select your real Desktop.

enter image description here

To the Automator action, add a Run Shell Script action from the left pane. Paste the following.

rsync -rta --delete ~/Desktop/ ~/Dropbox/Desktop/

enter image description here

Save the action.

enter image description here

Now, this will run by default, and whenever an item is added to your Desktop, it will be mirrored with the Dropbox. If you delete an item from your Desktop, there will be no changes, so you have to add something (e.g. create a new folder and delete it right away) to force a sync.

If you ever want to disable it, right-click your Desktop icon from Finder, and select Services » Folder Action Setup. Here, uncheck your Desktop.

enter image description here


Copying with cron

A very static, non-preferred way involves setting up cron. If you just want to copy the items, you can open your Terminal, and enter:

mkdir -p ~/Dropbox/Desktop
crontab -e

Then, paste the following, and save:

0   12  *   *   *   rsync -rt --delete ~/Desktop/ ~/Dropbox/Desktop/

This will make a backup every day, at 12:00. You can change the 12 to * to do this every hour. To disable it again, enter crontab -e and delete this line, then save.

share|improve this answer
2  
Your symlink params are backwards: ln -s ~/Dropbox/Desktop ~/Desktop –  user72923 Jul 31 '12 at 23:58
    
Seems like a better idea.. thanks! –  slhck Aug 1 '12 at 7:04
    
+1 Symlinks all the way for "true" transparency. –  Eric Duncan Oct 17 '14 at 17:08
    
-1 This answer contains three separate answers and should have been submitted as such. The symlink technique doesn't work, but instead creates a ~/Desktop/Desktop folder that is synced, but still fails to sync other content in ~/Desktop. –  Jason R. Coombs May 24 at 6:27
    
@JasonR.Coombs We actually prefer users to submit one answer if possible. I removed the symlink part. If you have a better symlink solution I'd appreciate if you could post that. –  slhck May 24 at 11:19

I prefer the symlink method, but when setting up additional Mac's to share the sync, it can get tricky.

First, I have a folder in Dropbox dedicated to "osx sync" ... e.g.: sync_osx

  • Before I setup the symlink on the new Mac, I temporary "move" the Desktop folder out of the sync_osx (but still inside the main DropBox folder).

  • I then open Terminal and type:

    cd ~/Dropbox/sync_osx

    ln -s ~/Desktop/ Desktop

  • Finally, I move the files back into the newly created Desktop folder in ~/Dropbox/sync_osx/Desktop.

By moving the files within the Dropbox folder, Dropbox quickly syncs and file change history remains intact.

share|improve this answer
    
This answer could be improved by clarifying that it's a different way of using symlinks. It's keeping the ~/Desktop folder as authoritative and linking from the Dropbox-hosted folder. I don't like this technique because it relies on Dropbox being aware of and supporting that model (something which it explicitly doesn't support on Windows). Additionally, why go to all that trouble rather than linking ~/Desktop to ~/Dropbox/sync_osx/Desktop? –  Jason R. Coombs May 24 at 6:31

Since you want the content from your Desktop in Dropbox, I recommend first moving the content on your Desktop to Dropbox. You can put your Desktop anywhere in Dropbox, but I recommend directly as Dropbox/Desktop. I'll assume for now that you have Dropbox installed as ~/Dropbox and your Desktop as ~/Desktop. So to move the files:

# ensure the directory exists on Dropbox
mkdir -p ~/Dropbox/Desktop

# move local files to the Dropbox-hosted Desktop
mv ~/Desktop/* ~/Dropbox

Next, you want to create a symlink so that ~/Desktop redirects to ~/Dropbox/Desktop. However, you can't do that while there's an existing Folder at ~/Desktop, so you'll want to remove it.

Before you do that, though, if this machine is the first Mac on which you've synchronized the Desktop, you'll probably want to retain the Folder icon for the Desktop. The only way I know to do that is to copy it to the clipboard using Finder. Open Finder and navigate to your home directory, select the Desktop, and then Get Info on it (⌘I). Select the folder icon in the upper left and copy it to the clipboard (⌘C). Next, restore the icon for the Desktop folder by navigating to your Dropbox/Desktop folder in Finder, invoking Get Info on it, selecting the icon in the upper right, and pasting the icon that you copied earlier (⌘V).

Now you're ready to remove the old Desktop folder.

# remove ~/Desktop
sudo rm -Rf ~/Desktop

sudo is required to remove that folder because it is system-managed.

Then, create the symbolic link so that the Desktop is available from both locations:

ln -s Dropbox/Desktop ~/Desktop

The above technique should work on the first machine, but also subsequent machines, even if the new machines already have content on the Desktop (which gets merged with the cloud-hosted copy). It saves storage and minimizes synchronicity issues by only keeping one copy of the content on the disk.

Finally, I've observed that this technique causes the Desktop to be lost from the Sidebar / Favorites. Restore the shortcut in the Favorites by navigating in Finder to the Dropbox and dragging the Desktop to the Sidebar. Note that the icon for the Desktop in the Sidebar will be replaced by a generic Folder icon. I do not yet know a way to restore that icon (and it may not be possible).

I welcome any suggestions on improving this technique - specifically how to invoke all the actions through the command line or retaining the icon in the Sidebar.

This technique seems to work for other special folders too (Downloads, Documents, etc).

share|improve this answer

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.