blob: 5f39fcec4f81e2d016824915c88d442e22876a78 (
plain)
- #!/bin/sh
- #
- # /usr/local/sbin/localbackupconfig
- # Copyright 2001 Jonas Smedegaard <dr@jones.dk>
- #
- # $Id: localbackupconfig,v 1.3 2002-03-29 13:33:06 jonas Exp $
- #
- # .dpkg-new files appear when refusing to update a conffile on package update
- #
- # .orig files you should save yourself before customizing a configfile
- #
- # .old files are for customizing when you don't have the original (anymore)
- #
- FQDN=`hostname -f`
- BACKUPDIR=/var/local/backups/$FQDN
- LOCALCONFIGDIR=/etc/local-$FQDN
- if [ -e $LOCALCONFIGDIR ]; then
- mkdir -p $BACKUPDIR/$LOCALCONFIGDIR
- cp -fa $LOCALCONFIGDIR $BACKUPDIR/`dirname $LOCALCONFIGDIR`/
- fi
- changedfiles=`find /etc -name '*.old' -o -name '*.orig' -o -name '*.dpkg-new' | sed -e 's,\.\(old\|orig\|dpkg-new\)$,,' | grep -v "^$LOCALCONFIGDIR" | sort -u`
- for i in $changedfiles; do
- if [ -e $i ]; then
- if [ -e $i.dpkg-new ]; then
- orig="$i.dpkg-new"
- elif [ -e $i.orig ]; then
- orig="$i.orig"
- elif [ -e $i.old ]; then
- orig="$i.old"
- else
- echo "What the f... Original for \"$i\" has disappeared?!?"
- exit 1
- fi
- mkdir -p $BACKUPDIR/`dirname $i`
- cp -fa $i $BACKUPDIR/`dirname $i`/
- diff -ruN $orig $i > $BACKUPDIR/$i.diff
- fi
- done
|