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.

I've set up DropBox as a backup for some of my files not in the Dropbox folder by using a symlink. But it occurs to me that if something gets messed up on Dropbox's end, then in theory it could make changes in the directories that are symlinked.

I'm wondering if there's any way I can set it up so that if I change, delete, or add files on my computer, those changes get reflected in Dropbox, but that it doesn't work the other way around.

share|improve this question
    
Use a second (local) file sync utility (i.e. rsync) to ensure that the sync is one-way? There's no permissions-based way that is 100% reliable if you don't want to use anything other than symlinks. –  Zac B Aug 6 '12 at 14:58
    
So set up rsync with cron to a separate folder and symlink that to the dropbox... –  Jordan Reiter Aug 6 '12 at 14:59
1  
Or, maintain a Git repository inside your Dropbox folder and add your files into this repository -- you get version-control for free. –  nik Aug 6 '12 at 15:49
    
Question: a lot of folders in this directory I'm backing up already have git. Is it still possible under those circumstances? –  Jordan Reiter Aug 6 '12 at 17:15
    
Careful, I got burned once with trying to be clever using symbolic links in my dropbox - the darned thing somehow deleted my originals! –  wim Jan 23 '13 at 14:53
add comment

1 Answer

Don't think what you want is possible using symlinks, but perhaps you could do it with bindfs.

bindfs --perms=a-w /path/to/original ~/Dropbox/whatever

So whatever would be a read-only "view" of the original directory; Dropbox would be able to read it but not write to it. You'd have to make sure to run that command before the Dropbox daemon starts, or else Dropbox will think you deleted everything (which wouldn't hurt your originals, but you'd have to upload everything to Dropbox again).

If you don't want to use bindfs, you could do it with real bind mounts:

mount --bind /path/to/original /home/user/Dropbox/whatever
mount -o remount,ro /home/user/Dropbox/whatever

But you'd have to do that as root, and there's no way to do it in fstab, AFAIK, so you'd still have to find a way to have it done before Dropbox starts (doubly so, because whatever would be writeable between running the two commands).

share|improve this answer
add comment

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.