[Sysadmins] Решение для бэкапа системы с историей
Nikolay
sn_kirovograd_sub на rambler.ru
Вт Июл 13 08:43:34 UTC 2010
В сообщении от 12 июля 2010 Andrey Rahmatullin написал(a):
> On Mon, Jul 12, 2010 at 01:54:49PM +0400, Алексей Шенцев wrote:
> > Меня как раз интересует как создать первый backup всей системы, а потом
> > делать инкременнетный бэкап.
>
> rdiff-backup держит последний бэкап как полный, храня историю бинарными
> дельтами.
>
> > Чем лучше воспользоваться: rsync, cp -a и т.д. и т.п.
>
> Первый, очевидно, как угодно. Вот как вы потом собираетесь делать
> инкрементальные - другой вопрос.
>
> > А потом, как правильно бэкап развернуть обратно, с наименьшим ручным
> > трудом.
>
> В rdiff-backup последняя версия достаётся простым копированием, более
> ранние - через CLI с указанием даты или пути к слёпку, плюс есть как
> минимум веб-интерфейс для просмотра бэкапов (GUI-интерфейсы пока не
> щупал).
Я просто содрал скриптик - файлов около миллиона
#!/bin/sh
#renice +19 -p $$ >/dev/null 2>&1
#ulimit -t 20
#/home/applmgr/app/archapp&
checkdir="/u02/oracle/pr/prappl/ont /u02/oracle/pr/prappl/xxdw /u02/oracle/pr/prappl/XX"
ttemp="/var/tmp/bkp/oracleappdb_tmp"
filedb="/var/tmp/bkp/oracleappdb"
email="v.mokrousov на bla.com"
a_tar="/var/tmp/bkp/app.tar"
archive="/var/tmp/bkp/app.tar.bz2"
host=`hostname`
#Build new hash
find $checkdir -type f -printf "%m\t" -exec md5sum {} \; >$filedb.tmp
#list=`diff -e $filedb $filedb.tmp | grep " "`
#GEt list delta
diff -e $filedb $filedb.tmp|grep " " | awk -F' ' '{ print $3 }' >$ttemp
mv -f $filedb.tmp $filedb
#Arch delta
lines=`cat $ttemp|wc -l`
#echo "$lines"
if [ $lines == "0" ]; then
exit 0
fi
cat $ttemp | while read Res; do
tar -rf $a_tar $Res
echo $Res
done
cat $a_tar | bzip2 --best > $archive
echo "ARchive -"$archive
scp $archive
applmgr на bkp2:/home/applmgr/data/delta/delta_app_`date -I`.tar.bz2
rm -f $a_tar
rm -f $archive
rm -f $ttemp
exit 0
...
--
С, уважением, Николай.
Подробная информация о списке рассылки Sysadmins