URL: https://www.opennet.ru/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID9
Нить номер: 5666
[ Назад ]

Исходное сообщение
"FreeBSD. Incremental backup. Rsync + Bash"

Отправлено catherina , 25-Авг-06 11:48 
Добрый день.
Прошу прощения, но не нашла поиском решения проблемы.

Дано:
FreeBSD 6.1-RELEASE-p2, rsync-2.6.8_2

Задача: делать инкрементальные бекапы.

Используемые статьи:
http://www.mikerubel.org/computers/rsync_snapshots
http://gja.space4me.com/things/Backups_With_Rsync.html

есть скрипт, делающий полные бекапы по расписанию, надо добавить туда фукцию инкрементальных бекапов.И делать это надо тем же rsync+bash.Ибо от них уже имеется полный бекап, то есть имеем эталон, относительно которого искать изменившиеся файлы.

в приведенных статьях предлагается делать это через "cp -al" (в линуксе) и "cd $path1 && find . -print | cpio -dplm $path2" (во фре).
но у меня такая конструкция не работает.

по логике вещей, cp -al создает иллюзию жесткой ссылки. rsync сначала считывает имеющиеся файлы и на основании этого составляет список изменившыхся (это у меня отрабатывается нормально, что не удивительно). А потом, перед записью, он должен отлинковать директорию (так как это была иллюзия, то она окажется пустой) и записать туда файлы, которые были изменены.

Так вот, у меня этого не происходит, то есть он просто *дописывает* новые файлы в папку. Получается ежедневно обновляемый полный бекап, а это несколько не то :)

что я делаю не так?

Вот вырезки из скрипта, которые должны выполнять инкрементальный бекап:
====
#!/usr/local/bin/bash
Source="/export/shares/"
Destination="/backup"

if [ -d $Destination/hourly.3 ] ; then \
rm -rf $Destination/hourly.3 ; \
fi;

if [ -d $Destination/hourly.2 ] ; then \
mv $Destination/hourly.2 $Destination/hourly.3 ;\
fi;

if [ -d $Destination/hourly.1 ] ; then \
mv $Destination/hourly.1  $Destination/hourly.2 ; \
fi;

if [ -d $Destination/hourly.0 ] ; then \
cd $Destination/hourly.0 && find . -print | cpio -dplm $Destination/hourly.1 ;\
fi;

rsync -av --update --delete  $Source $Destination/hourly.0
==


Содержание

Сообщения в этом обсуждении
"FreeBSD. Incremental backup. Rsync + Bash"
Отправлено gara , 25-Авг-06 12:36 
смотри в сторону DAR (Disk ARchive)

http://dar.linux.free.fr/

он умеет и полный бекап делать и diff и много еще чего - РЕШЕНИЕ !!! :)