Synchronize the same set of files to 2 different locations with 2 different programs for 2 different purposes
Posted
by
Hedgetrimmer
on Super User
See other posts from Super User
or by Hedgetrimmer
Published on 2012-05-31T02:50:53Z
Indexed on
2012/05/31
4:43 UTC
Read the original article
Hit count: 253
Because of stupid questionable IT policies at my not-to-be-named place of occupation, I have been (and will be, for the forseeable future) carrying on an external hard drive a unison-synchronized copy of all of my documents and code, including code which resides in some of my "dotfiles" and other code which resides in ~/bin
(things I've made are there because ~/bin
is in my $PATH
) along with some cruft generated (and to be generated) by conscript and its related "giter8" templating system for Scala project boilerplates. Despite this, I do use a symlinking program to store all of my important dotfiles in a subdirectory.
Thanks to that somewhat complicated setup, I have resorted to making a directory full of symlinks to every directory (or file, as is the case with stuff under ~/bin
) that I want synchronized, and then follow = True
is in my unison profile.
It happens to be that this collection of odds and ends—plus an automatically-generated text file containing every package installed on my system—is everything under ~
that needs to be backed up to a remote (rsync-over-ssh) host with client-side encryption and signing from GPG. I already believe that duplicity is the most appropriate program to do that.
What isn't as clear-cut is how to make duplicity use the exact same set of files when it runs a backup; it would be simple if duplicity would follow symlinks, but it does not and the manpage lists no option for enabling any such behavior. Comparing unison's file selection algorithm to duplicity's, I don't think I can write a program that could compute a ruleset for one program given one for the other. For the record, I would rather not keep the symlinks manually synchronized with duplicity file-selection rules, as they can change thanks to the above-mentioned complications regarding ~/bin
. I don't think running duplicity on the external hard disk is such a good idea either; I usually keep that hard disk unmounted and unplugged in case of a power failure or other physical problem with the computer, plus I'm not sure about duplicity's performance given that:
- the hard disk is NTFS-formatted in order to be useable at my Windows-imprisoned place of occupation.
- despite being a USB 3.0 disk, my computer has no USB 3.0 ports so it acts as a USB 2.0 disk.
How can I have duplicity (or is there a better program that I have overlooked?) back up the exact same set of files that is bidirectionally synchronized with my external hard disk?
© Super User or respective owner