+++ /dev/null
-#!/bin/sh
-# /etc backup <wolf@pld.org.pl>
-umask 077
-
-month="`date +%Y-%m-00`" # 00, ¿eby siê ³adnie sortowa³o
-fulldate="`date +%Y-%m-%d-%H:%M`"
-tmp="etc-$$-$RANDOM"
-tmp2="diff-$$-$RANDOM"
-
-# sprawdziæ, czy jest katalog, jak nie ma to zrobiæ
-if [ ! -d /var/log/etc ]
-then
- if [ -f /var/log/etc ]
- then
- echo "Wywal /var/log/etc, to pogadamy."
- exit 0
- fi
- mkdir /var/log/etc
-fi
-
-# sprawdziæ, czy jest pe³ny backup z aktualnego miesi±ca
-if [ ! -f /var/log/etc/etc-$month.tar.gz ]
-then
- cd /etc
- tar zcf /var/log/etc/etc-$month.tar.gz .
- cd /var/log/etc
-# echo "Zrobi³em pe³ny backup /etc:"
-# ls -l etc-$month.tar.gz
- s1=1
-fi
-
-# pu¶ciæ diffa
-if [ -f /var/log/etc/.current ]
-then
- # jak nie jest rozpakowany w /, to niektóre linki siadaj±
- cd /
- mkdir $tmp
- cd $tmp
- tar zxf /var/log/etc/.current
- cd /
- diff -ruN $tmp /etc --exclude="counter" --exclude="adjtime" --exclude="rc.d" --exclude="mtab" > /tmp/$tmp2
- cd /tmp
- # jak s± ró¿nice, to wys³aæ gdzie trzeba
- if [ -s $tmp2 ]
- then
- mail -s "/etc diff @ $fulldate" root < $tmp2
- fi
- rm $tmp2
- # i teraz ju¿ bez excludowania
- cd /
- diff -ruN $tmp /etc --exclude="mtab" > /tmp/$tmp2
- cd /tmp
- if [ -s $tmp2 ]
- then
- mv $tmp2 /var/log/etc/etc-$fulldate
- gzip -f /var/log/etc/etc-$fulldate
- # uaktualnienie zrzutu /etc
- cd /etc
- tar zcf /var/log/etc/.current .
- s2=1
- else
- rm $tmp2
- fi
- cd /
- rm -rf $tmp
-fi
-
-# .current ju¿ jest aktualne, jak $s2==1
-if [ "$s1" -eq 1 -a "$s2" -ne 1 ]
-then
- cd /var/log/etc
- cp -f etc-$month.tar.gz .current
-fi
-