We Want to Hear From You! What Do You Want to See on the Community? Tell us here!
Forum Discussion
neilcothran
7 years agoHelpful | Level 5
Syncing when using symbolic links
Hello,
I am having an issue concerning dropbox syncing when using symbolic links.
Using Windows 10 and the Dropbox app, recently downloaded / installed so I believe it is fully up to date.
On the "host" machine, rather than copying (and thus duplicating) all files to the Dropbox folder, I create a symbolic link in the Dropbox folder, using the command prompt:
>mklink /d Documents C:\<path_to_real_documents_folder>
This works fine, except that when files in _real_documents_folder are changed, they do not get "synced" on Dropbox unless I "force" it. I click the Dropbox icon, the lower left says "Up to date" . Hover mouse and it changes to "Pause syncing". I click that, then it says "Syncing paused". Click again, and it then updates and syncs the files.
The result is that, without remembering to do this, the Dropbox copy never updates, (unless exited and restarted) either by "logging on" through the web site, or on another computer using the app and same login credentials. If I do remember to do this, everything is fine.
Is there a way to get this to happen automatically?
Thanks.
- Hi Neil, long story short, Dropbox doesn’t support symlinks and never has.If they do work, it is purely luck, since the majority of the time it creates performance issues, permission failures and data loss.Hope this helps!
10 Replies
- Jay7 years ago
Dropbox Community Moderator
Hi Neil, long story short, Dropbox doesn’t support symlinks and never has.If they do work, it is purely luck, since the majority of the time it creates performance issues, permission failures and data loss.Hope this helps! - neilcothran7 years agoHelpful | Level 5
Hi Jay,
Many thanks for the response.
Interesting .... I've not observed any of the issues mentioned in the article your link pointed me to. The use of symlinks seems to work quite well, except for the "update" bug I originally mentioned. As long as I remember to "force" the re-sync, everything falls out as I wanted, giving me the ability to "carry things around" from computer to computer without all the aggravation / overhead of copying to USB's etc which ends up duplicating data and creating version control headaches.
After doing some more experimenting, I note that the problem as I've described is apparently uni-directional: Changes made on the "host" machine (the one with the symlinks in the Dropbox folder) need the "forced" update as described. Changes from other computers as well as from the Dropbox web portal are reflected to the "host" machine vitually instantly, as long as it is online. That accomplishes exactly what I intended: the ability to "carry work home" and voila, there it is on the office PC instantly.
So far, so good. But, what I've done thus far is shared only with myself; I've not tried sharing amongst others, simply because thus far I've not needed to. But I suspect that the same thing would happen.
Just My Humble Opinion, but it would perhaps be good if Dropbox could find a way to "officially" support the use of symlinks. In the meantime, perhaps I can find some way to "trigger" the app to do the update thing.
Again, thanks for your support.
- Rich7 years ago
Super User II
neilcothran wrote:
The use of symlinks seems to work quite well, except for the "update" bug I originally mentioned.
It's not a bug. When Dropbox is installed, it registers itself with the operating system to be notified of file changes within the Dropbox folder. It doesn't sync files at the other end of a symlink in real-time because the operating system isn't notifying Dropbox of those changes (because it's outside of Dropbox). It does sync when you force it to because Dropbox then scans all of the files in the Dropbox folder for changes, and when it reaches the symlink it follows it to the other end, scans the files and detects the changes.
- neilcothran7 years agoHelpful | Level 5Ha, thanks, understood. It's not a bug, it's a feature! As a long-time programmer myself, I should have realized how badly I misspoke... :)
Would be nice if there was a "rescan all" button.. Oh well the work-around works. Just takes three clicks instead of one.
Fantastic product nonetheless! - neilcothran7 years agoHelpful | Level 5
Finally got around to making this post to update....
Ok so my thought was to have a "rescan all" button, and since we dont.....
Workaround is to stop and restart Dropbox app. So I now have 2 icons on the desktop: one to kill Dropbox and the "normal" one to start it.
The first one has a one-line command: taskkill.exe /f /im dropbox.exe
Double-click, wait a sec, double-click the "normal" Dropbox app.
Problem solved.
- hoanglan876 years agoNew member | Level 2
Another update for who still have same problem:
Put the file/folder in your dropbox and make the symlink outside in the original location. - jeff10546 years agoExplorer | Level 4
Hi Jay,
Actually they do (or at least seem to so far) if created properly. This obviously fails:
% cd ~/Dropbox ; ln -s ~/mydir ./mydir
But if the symlink is from outside Dropbox to a file that is inside Dropbox, it seems to work fine. But only if the link is created carefully. Curiously, this fails:
% cd ~/Dropbox ; ln -s myDropboxDir ~/mydir
And this fails:
% cd ~/Dropbox ; ln -s myDropboxDir mydir ; mv mydir ~
BUT this works:
% cd ~ ; ln -s ~/Dropbox/DropboxDir mydir
You end up with a directory (actually a soft link) ~/mydir that works perfectly well, with contents accessible on all machines using the Dropbox account.
Going end to end:
mac1> cd ~/Dropbox; mkdir myDropboxDir ; cd ~ ; ln -s Dropbox/myDropboxDir ./mydir
Makes a perfectly functional ~/mydir
And on a second machine:
mac2> cd ~ ; ln -s Dropbox/MyDropboxDir ./mydir
Makes a perfectly functional ~/mydir as well. Any changes made in ~/mydir on mac1 show up (both from Finder and from the command line) in ~/mydir on mac2. And vice versa.
Of course, Dropbox/myDropboxDir should be set to sync.
I think this effectively provides all of the functionality one might want using symbolilc links with Dropbox. For example, it provides a way to have ~/src and ~/bin synchronized across machines.
- Lusil6 years ago
Dropbox Staff
Hi everyone! Thanks for keeping in touch with us on this thread regarding symlinks.
I just wanted to note that, if you haven't already, you can check out more info about symlinks and how to use them with Dropbox in this article.
If you have any other questions or feedback for us, feel free to give us a nudge. Thanks again!
- jeff10546 years agoExplorer | Level 4
Hey Lusil,
Thanks for the article, but it still misses the point. It discusses the differences between symbolic links inside Dropbox pointing to objects also inside Dropbox (which work) and symbolic links inside Dropbox pointing to objects outside Dropbox (which do not work).
But the article does not discuss symbolic links where the object itself is inside Dropbox but the symlink is outside Dropbox.
You do not discuss the case:
OutsideDropbox/linkdir --> Dropbox/dir
To me, the last is actually the interesting case, because it allows one to have files and directories that seem to be outside of Dropbox but in fact are shared and synced. Which is kind of the point.
You just have to be careful about how the link is constructed. It has to be a soft link properly constructed from the command line with ln -s. (From the Finder soft links and Apple "alias" files are tagged the same way with a little arrow, but they are absolutely not the same thing. Apple alias files don't work here.)
PS: I have since realized that some of the strangeness applies to any soft links (ln -s variety) regardless of whether the target file is inside Dropbox or not. My bad. The point is that the great utility of soft links is to make a shared or remote resource look and behave as if it is local. Soft links to Dropbox items serve that purpose in spectacular fashion.
I should also say that Dropbox is a great service. I already use it in many ways; my environment and workflow would blow up without it. I'm finding new ways to put it to use routinely. Having seen comments to the effect that "symbolic links are not supported," I had never really gone down that path. I posted here because of my pleasure in discovering that when thought about and implemented with some care, Dropbox and symbolic links work together amazingly well.
- Jhlewis6 years agoNew member | Level 2
I have been backing up my Linux system by making links to important directories via symbolic links to them from within the Dropbox folder for the directors I want to be backed up. This was an effortless way of keeping an up-to-date backup on dropbox. This no longer works since Dropbox has removed of support for the above scheme. The suggestions made to reverse the links by storing system folders in the Dropbox folder can not work, it shows a total lack of understanding how Linux works, and in any case symbolic links are used everywhere, especially in system folders. Hard links seem not to work either as drop box crashes when I make them from the Dropbox folder. This user hostile change has forced me to implement scripts that call rsync. We're it not for the fact that Google drive is pathetically slow, I would have closed my Dropbox account, in fact some of my friends, windows and Mac users are experiencing the same problem and indeed have closed their accounts. I find this change to be petty minded, ignorant and inconsiderate. Obviously some one hadn't the faintest clue what customers do with Dropbox as a backup system.
About View, download, and export
Need support with viewing, downloading, and exporting files and folders from your Dropbox account? Find help from the Dropbox Community.
Need More Support
The Dropbox Community team is active from Monday to Friday. We try to respond to you as soon as we can, usually within 2 hours.
If you need more help you can view your support options (expected response time for an email or ticket is 24 hours), or contact us on X or Facebook.
For more info on available support options for your Dropbox plan, see this article.
If you found the answer to your question in this Community thread, please 'like' the post to say thanks and to let us know it was useful!