On Fri, Aug 25, 2006 at 11:29:55AM +0200, Gilles Mocellin wrote: > Le vendredi 25 août 2006 10:50, Hagakure a écrit : > > Hi, > > > > I've got to upgrade our backup system (bash script) that currently uses > > rsync to backup two sites to a storage server. > > > > Currently rsync is used to do an incremental copy of the data and then > > we archive it using tar. Unfortunately, the archives are now taking up a > > huge amount of hdd space. > > > > What I am looking for is a pointer so that we still use rsync to copy > > the data, but rather than archive the entire backup, we have a tar file > > for each days differences. > > > > Ideally, we would be able to insert the differences (file names only!) > > into a mysql db so we can recover files quickly. > > > > I looked into various options, but wondered if anyone might have a > > pointer to enable us to do this. > > > > Thanks, > > > > Haga > > Hello, > > I use rsnapshot. It does not make tar files of difference but several > directories, all showing the full archive at a date, but with the magic of > hard links and rsync, it stores only files wich have changed. > > There's also rdiff-backup, but restores can only be done with rdiff-backup, > that's ennoying for me. > > Also, dirvich. Hi Haga,
I also used to use rsnapshot happily until I started to notice that the rsync initiated by rsnapshot didn't fully work (basically for some reason which I never figured out the --delete option was not alsways honoured). I used -t option to rsnapshot to just print it's output and put that in a shell script as seen below: # --- 8< -------------------------------------------------------- #!/bin/bash # delete the oldest backup /bin/rm -rf /mnt/sda1/backup/daily.6/ #move all backups to the next older stage mv /mnt/sda1/backup/daily.5/ /mnt/sda1/backup/daily.6/ mv /mnt/sda1/backup/daily.4/ /mnt/sda1/backup/daily.5/ mv /mnt/sda1/backup/daily.3/ /mnt/sda1/backup/daily.4/ mv /mnt/sda1/backup/daily.2/ /mnt/sda1/backup/daily.3/ mv /mnt/sda1/backup/daily.1/ /mnt/sda1/backup/daily.2/ #make a copy of the newest backup /bin/cp -al /mnt/sda1/backup/daily.0/ /mnt/sda1/backup/daily.1/ #backup /home and log the result /usr/bin/rsync -avx --delete /home/ /mnt/sda1/backup/daily.0/home/ > \ /root/store/rsnapshot.log 2>&1 #backup / and log the result /usr/bin/rsync -avx --delete --exclude=/swap / \ /mnt/sda1/backup/daily.0/root/ >> /root/store/rsnapshot.log 2>&1 #touch the new backup for timestamp purposes touch /mnt/sda1/backup/daily.0/ # --- 8< -------------------------------------------------------- I use this script to backup my /home and / to a USB disk, but you can run it as a cronjob on the backup server to backup any computer you want. Hth -- Andreas Rippl -- GPG messages preferred Key-ID: 0x81073379
signature.asc
Description: Digital signature