Automatically sync a folder to a USB when USB is plugged in?
Is there a way to sync a folder to an USB drive when the drive is plugged in? I'd like it to sync, or copy over changes, both ways. I've seen the Back In Time and Unison-GTK applications, but I'd like for it to run as soon as the drive is mounted. What I mean is, unintrusively sync the two folders without any input from myself besides setting it up.
If this isn't possible, is it possible to run the application when the thumb drive is plugged in to remind myself to sync manually?
Thanks!
Solution 1:
I'd personally lean toward udev
for something like this. udev
is the subsystem that's responsible for handling hardware when it's plugged in, after the kernel has loaded it, that is.
Amongst a plethora of other features, it can run a script. In your case, I'm thinking it could mount the drive somewhere and perform whatever sync features you need.
I've already written how to write a simple udev script so I'll just point you there.
For the actual synchronisation, you need something else. git
is a very popular version control application that you could easily twist to your will. And there are standard backup options like rsync
that you can have it merge conflicts (just not as well as something like git
).
Solution 2:
You could try making a file called .autorun in the root directory of your usb drive, and make the contents the command you want to run, like /usr/bin/rsync -av /dir/you/want/to/sync /place/to/sync/to
.