Tony Molloy wrote:
On Thursday 16 February 2006 07:45, Götz Reinicke wrote:
Hi,
I have some RHEL4 servers and want to set up a central backup system
with a "big" harddisk. I found a very nice shell-script, doing
incremental backups using tar.
Any ideas what coul be wrong? The Backups are about 10 GB +- up to 100
GB in the future.
With that amount of data to backup don't use tar, use rsync instead. Rsync
is much faster as it only copies the parts of files which have changed.
An excellent backup system using rsync to try is BackupPC
< backuppc.sourceforge.net >. It does full and incremental backups using
rsync.
Some time ago, I tried backing up our server over the Internet using
rsync, and even after discussion with the developers and updating to the
latest version, it was way too slow.
It took enormous amounts of RAM and swap (fortunately, depite making
swap several times RAM it didn't induce thrashing), and never completed
in a reasonable time.
Now, I have a devious script that creates a compressed ISO using
mkzftree and mkisofs and then uses rsync to update a remote copy over
ADSL. The longest time to update the remote copy is a whisker over the
hour which we think entirely reasonable.
It takes around five minutes to copy over the local LAN.
Here is the script: watch for line-wrap.
mail:~# cat /root/bin/bu.image
#!/bin/bash -e
RSO="--recursive --links --hard-links --perms --owner --group --devices
--times"
RSO="${RSO} --sparse --one-file-system --rsh=/usr/bin/ssh --delete "
RSO="${RSO} --delete-excluded --relative --stats "
RSO="${RSO} --numeric-ids --timeout=7200 ${EXC}"
trap '/etc/init.d/postfix start' EXIT
/etc/init.d/postfix stop
date
[ -d /mnt/backup ] || mkdir /mnt/backup
Image=/var/tmp/backup.img
umount /mnt/backup || :
rm -fr ${Image} /var/tmp/backup
dd if=/dev/zero of=${Image} count=0 bs=1024 \
seek=$((5*1024*1024))
ls -shog ${Image}
mke2fs -Fq ${Image}
mount -o loop ${Image} /mnt/backup/
sfdisk >/etc/disktab -d /dev/hda
tar clC / --exclude=backup.img --exclude=/tmp --exclude=/mnt\/*
--exclude=/var/lock --exclude=swapfil\* \
--exclude=/var/autofs --exclude=lost+found --exclude=/var/tmp
--exclude=/var/local --exclude=squid-cache \
--exclude=/var/spool/cyrus/mail-backup \
/ /boot /home /var \
| buffer -m $((2*1024*1024)) -p 75\
| tar xpC /mnt/backup || { df -h ; exit ; }
ls -go /mnt/backup
rm ${Image}
/etc/init.d/postfix start && trap -
mkzftree --one-filesystem /mnt/backup/ /var/tmp/backup
uptime
df -h
umount /mnt/backup/
mkisofs -R -z -quiet -nobak -o /var/tmp/backup-${HOSTNAME}.iso
/var/tmp/backup
df -h /var/tmp
uptime
# scp -p /var/tmp/backup-${HOSTNAME}.iso
backup.office.lan:/var/local/backups || :
time rsync ${RSO} /var/tmp/backup-*.iso
backup.office.lan:/var/local/backups ||:
time rsync ${RSO} /var/tmp/backup-*.iso 192.168.0.1:/var/local/backups/
date
mail:~#
I do the mucking around with tar because mkzftree doesn't do much in the
way of filtering the source filesystem.
The resultant image is easily read by Linux but on other operating
systems one needs to run mkzftree to unpack it.
--
Cheers
John
-- spambait
1aaaaaaa@xxxxxxxxxxxxxxxxxxxxxxx Z1aaaaaaa@xxxxxxxxxxxxxxxxxxxxxxx
Tourist pics http://portgeographe.environmentaldisasters.cds.merseine.nu/
do not reply off-list