Резервный диск монтируем как /backup в read-only режиме.
По крону еженощно запускаем скрипт следующего содержания:
/sbin/mount -u -w /backup # пепреводим раздел в rw режим
/usr/bin/rsync -a --delete --delete-excluded --max-delete=200 \
--exclude-from=/etc/ex_files_list.txt / /backup
RETCODE=$?
if [ $RETCODE -ne 0 ]; then
echo "Err code=$RETCODE"| mail -s "RSYNC BACKUP ERROR" alert@test.ru
fi
/sbin/mount -u -r /backup # раздел обратно в ro.Если backup-диск большой, лучше вести две полные копии, на случай краха во время бэкапа (или см. опцию --backup);
При бэкапе на другой сревер:
rsync [...опции как выше] --compress --bwlimit=100 --timeout=120 \
-e ssh source/ login@backuphost:/backup/node1Список файлов для исключения из бэкапа (ex_files_list.txt):
/backup
/mnt
/proc
/tmp
/var/log
/usr/obj
/usr/src
/usr/tmp
/usr/ports
/usr/local/apache/logs
URL: http://www.opennet.me/guide.shtml#backup
Обсуждается: http://www.opennet.me/tips/info/687.shtml
намного проще иметь RAID-1 с применением iSCSI.
И как востанавливатся если сервер взломают?
а почему бы не копировать tar'ом с опцией --one-file-system?
у меня на серваке стоит ccd-зеркалирование на двух идентичных сказях : три раздела /var - ccd0, /tmp - ccd1 /usr - ccd2 и по разделу на винте по 256М для корня.
корень ессна программно нельзя зеркалировать потому как драйвер ccd грузится только после mount_root, так вот эти два корня скидывают инфу постоянно друг на друга в зависимости от того, какой загружен, тоесть если загружен с da0s1a то кидается инфа вся, без fstab и ccd.conf в корень da1s1a и наоборот.
Имею аналогичное на linux. Только у меня root на зеркале, потому что linux kernel цепляет зеркальный раздел.