= Backup Control Scripting :author: Ralph Ronnquist :revdate: Sun, 30 Apr 2023 21:32:28 +1000 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). == Administration Example .This is a +/etc/duplicity-daily+ sample ---- 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+. .This is a +~/.ssh/config+ sample ---- 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 +thishost@backup.lan+ so that daily backup can happen without operator intervention. == Debian Package 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_ ---- 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).