Acho que você pode usar lsyncd
para fazer o que quiser.
Lsyncd (Live Syncing Daemon) synchronizes local directories with a remote targets
Lsyncd watches a local directory trees event monitor interface (inotify or fsevents). It aggregates and combines events for a few seconds and then spawns one (or more) process(es) to synchronize the changes. By default this is rsync. Lsyncd is thus a light-weight live mirror solution that is comparatively easy to install not requiring new filesystems or blockdevices and does not hamper local filesystem performance.
Sinopse
config file
lsyncd [OPTIONS] CONFIG-FILE
default rsync behaviour
lsyncd [OPTIONS] -rsync SOURCEDIR TARGET ...
default rync+ssh behaviour (moves and deletes through ssh)
lsyncd [OPTIONS] -rsyncssh SOURCEDIR TARGETHOST TARGETDIR ...
default direct behaviour (local file operations/rsync)
lsyncd [OPTIONS] -direct SOURCEDIR TARGETDIR ...
Para sua situação, você pode usar este método:
$ lsyncd -rsync /local /usb