mirror of
https://git.FreeBSD.org/ports.git
synced 2024-11-15 23:50:44 +00:00
0e6ea7ba2c
There was an unused file (saturn.backup) in the files/ dir. Renamed that and installed it as an example.
41 lines
1.3 KiB
Plaintext
41 lines
1.3 KiB
Plaintext
level=$1
|
|
#
|
|
# Construct basename for dump records
|
|
FS=`echo $2 | sed -e '1,$s?/?:?g'`
|
|
echo Dump root = $2 Level = $level
|
|
echo -n Finding files to dump...
|
|
DUMPFILES=/tmp/backup$$
|
|
date +"%b %d %H:%M" > /var/adm/dumpafio/newdump$$
|
|
#
|
|
# If it is a level 0 dump simply dump everything...
|
|
if [ $level = 0 ]
|
|
then
|
|
find -x $2 | grep -v -f /var/adm/dumpafio/DONTDUMP > ${DUMPFILES}
|
|
echo done
|
|
#cat ${DUMPFILES} | afio -G 2 -o -v -f -b 5120 -c 1000 -s 100000x -Z /dev/nrst0
|
|
else
|
|
#
|
|
# Otherwise dump only stuff newer...
|
|
#
|
|
# Get the date of the most recent dump with the highest level <= $level]
|
|
#prevdump=`ls --reverse /var/adm/dumpafio/${FS}.[0-${level}] | head --lines=1`
|
|
prevdump=`ls -r /var/adm/dumpafio/${FS}.[0-${level}] | head -n 1`
|
|
if [ "x${prevdump}" = x ]
|
|
then
|
|
echo failed
|
|
echo backup: No lower level dump - cannot do level $level dump
|
|
exit 1
|
|
fi
|
|
#find -x $2 -cnewer ${prevdump} | grep -v -f /var/adm/dumpafio/DONTDUMP > ${DUMPFILES}
|
|
find -x $2 -newer ${prevdump} | grep -v -f /var/adm/dumpafio/DONTDUMP > ${DUMPFILES}
|
|
echo done
|
|
fi
|
|
cat ${DUMPFILES} | afio -G 2 -o -v -f -b 5120 -c 1000 -s 100000x -Z /dev/nrst0
|
|
/bin/rm -f ${DUMPFILES}
|
|
#
|
|
# All higher level dumps are now invalidated
|
|
/bin/rm -f /var/adm/dumpafio/${FS}.[${level}-9]
|
|
#
|
|
# Record date of dump future reference
|
|
mv /var/adm/dumpafio/newdump$$ /var/adm/dumpafio/${FS}.${level}
|