Ubuntu – 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?


Best Answer

  • 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).

  • Related Question