||2 weeks ago|
|debian||7 months ago|
|.gitignore||7 months ago|
|Makefile||7 months ago|
|README.adoc||5 months ago|
|duplicity-daily||7 months ago|
|duplicity-daily.conf||7 months ago|
|dupltool||7 months ago|
|restore.sh||2 weeks ago|
Backup Control Scripting
The script dupltool is a wrapper for duplicity that usually just invokes duplicity with all arguments passed on, but every month it first makes a stash of the most recent succession of daily snapshots, so that the duplicity run at this time is a monthly snapshot.
The script duplicity-daily is a simple control script for daily backup that uses configuration from /etc/duplicity-daily.conf that defines which backups to make, and from ~/.ssh/config as to how to connect to the target host (or hosts).
ENABLED=yes OPTIONS=--no-encryption TARGET=backup/backup /root /etc /home
The above sample declares backup (without encryption) of directory trees /root, /etc, /home to host backup (as declared in ~/.ssh/config) into directories under the user’s directory backup.
host backup hostname backup.lan user thishost identityfile ~/.ssh/thishost-backup ServerAliveInterval 15 ServerAliveCountMax 4 TCPKeepAlive yes RekeyLimit 100M IPQoS reliability
Note that for the above sample, the backup client root@thishost has prepared a password-less ssh key to firstname.lastname@example.org so that daily backup can happen without operator intervention.
A debian package is built with
$ make deb
provided that the build environment is set up, i.e. an ordinary debian package building environment.
The package is then installed with
# dpkg -i ../buckap_<TAB>
Doing so will install /usr/bin/dupltool and /etc/cron.daily/duplicity-daily, as well as providing an example /etc/duplicity-daily.conf (incuding rudimentary instructions).