Plug in your encrypted USB key.
Enter do_backup.sh.
Confirm actions.
Unplug your USB key.
A configuration file looks like that.
  [section] tag*
  Source, Target
  #
  # Except for rsync sections,
  # where Target shall be relative to $TARGET,
  # both Source and Target shall be absolute.
  #
  # You can use '~', ${variable} and $(command)
  # for describing absolute path
  #
  # TARGET is either explicitely specified (-t option)
  #        or /media/root/<usb_uuid>/.backup
  #
  Include another.fileThe script look for these files (ordered by priority):
~/.do_backup.cfg~/.config/do_backup/directories.$HOSTNAME~/.config/do_backup/directories
Once a file found, it use it and ignore others.
You can explicitely choose the configuration by prepending script call with CONFIG=${MY_CFG_FILE}.
The aim is either to say explicitely what to import/export in ~/.do_backup.cfg or to setup different synchronization according to hostname ~/.config/do_backup/directories.$HOSTNAME.
Configuration file example:
  [rsync]
  /local/dir, dir
  # will rsync /local/dir to $TARGET/dir
  ~/dirb, dirb
  # will rsync $HOME/dirb to $TARGET/dirb
  [rsync] EVERYDAY FAST CONFIG
  /local/dirc, dirc
  # if you call `do_backup.sh EVERYDAY`,
  # only the lines in this section will be processed.
  #just archive
  [archive]
  /local/dir, /archives/dir.zip
  # will zip /local/dir in $TARGET/dir.zip
  #rebuild links
  [link]
  ~/.dir, /local/dir
  # make ln -s ~/.dir /local/dir
  #extends in many ways
  Include ./directories.${HOSTNAME}.${USER}
  # ./ is relative to the current config file
  Include $(find /etc/do_backup/ -name 'directories.*')