The short version: how can I keep an rsync backup on a truecrypt volume? The hard part is to mount/unmount this volume on the fly when it is needed for rsync.
This is my current backup configuration (which works fairly well for the most part):
- backup source is on Win7 64 bit, destination is a remote Linux box (Debian)
- actual data transfer is done by rsync via ssh (cwRsync with cygwin)
- rsync daemon is started on demand via ssh
On the Linux box the backup is protected by file permissions only. I want to increase security here and put the backup into a truecrypt volume. I can fuse-mount that volume manually in the shell. The question is now how can I make rsync not only open an ssh connection and starting the rsync daemon, but also to mount the truecrypt volume before (and unmount it after)?
My money is on option
--rsync-path which can be used to pass a command line to ssh - provided that stdin and stdout still work the same. I guess that command would have to be a shell script. Is this possible, and what would the script look like?
For reference, here's a quote of that option:
Use this to specify what program is to be run on the remote machine to start-up rsync. Often used when rsync is not in the default remote-shell's path (e.g.
--rsync-path=/usr/local/bin/rsync). Note that
PROGRAMis run with the help of a shell, so it can be any program, script, or command sequence you'd care to run, so long as it does not corrupt the standard-in & standard-out that rsync is using to communicate.
One tricky example is to set a different default directory on the remote machine for use with the
--relativeoption. For instance:
rsync -avR --rsync-path="cd /a/b && rsync" host:c/d /e/
This is the full rsync man page.