INSTALLATION and GETTING STARTED # $Id: INSTALL,v 11.3 2003/08/29 09:55:03 jw Exp $ $Name: $ PREREQUISITES rsync version 2.5.6 or higher. rsync version 2.5.7 or higher if backing up windows. perl5 and these perl modules (if you aren't familiar with perl see CPAN(3pm)). POSIX Getopt::Long Time::ParseDate Time::Period by Patric Ryan Lots of empty disk space. I recommend using volume management (see lvm(8)). Ssh configured so root on the backup server can use ssh non-interactively to the backup clients. This does not necessarily mean it has to be able to be root on those clients. INSTALL Execute the install script "sh install.sh" from inside the unpack/download directory. The script will ask where to install the various pieces. Be sure you have write permissions for the installation directories. CONFIGURATION Dirvish will store the backup images in "vault"s. Plan on one vault per backup set. Create one or more directories as "bank"s in which to place the vaults. You can create a large filesystem for each bank but it is usually better to create a filesystem for each vault. Inside the banks create one mount-point directory (vault) for each backup set (ex: home). Start by making each filesystem about 1.5 times the size of the filesystem or directory tree it will be used to back up. Mount 'em up. The FAQ has additional details about how these filesystems should be built. create the file /etc/dirvish/master.conf on your backup server. It might look something like this: bank: /e/backup1 /e/backup2 exclude: lost+found/ core *~ .nfs* Runall: app 22:00 data 22:00 home 22:00 site 22:00 expire-default: +15 days expire-rule: # MIN HR DOM MON DOW STRFTIME_FMT * * * * 1 +3 months * * 1-7 * 1 +1 year * * 1-7 1,4,7,10 1 * 10-20 * * * +4 days In each vault create a dirvish subdirectory. In the dirvish subdirectory of each vault create config files. To keep it simple here we will assume will only have one branch per vault and use the default configfile name; so create $BANK/$VAULT/dirvish/default.conf files. Here is an example from my home vault: client: leto tree: /e/home /home branch-default: daily exclude: /**/.*/**/*cache/ /**/.*/*cache/ /**/.*/**/*Cache/ .kde/share/thumbnails/ Now that you are configured create an initial image by running dirvish on the backup server like so: root# dirvish --vault home --init If you add the --no-run option you will see what it will try to do. To do a regular backup you now only would need to execute "dirvish --vault home" After you create your image you can look at the log and summary files to see what was done. I strongly recommend reading the dirvish and dirvish.conf manpages. Work on your exclude lists and have fun. dirvish.runall will run dirvish on all of the vault[:branch]s listed in the Runall list in /etc/dirvish.conf Because dirvish handles calculating expiration dates automatically you need only add two entries to crontab to completely automate your dirvish backups. 10 03 * * * root /site/sbin/dirvish-expire --quiet 18 03 * * * root /site/sbin/dirvish-runall --quiet Note that both dirvish-runall and dirvish-expire are scheduled after 22:00 as specified in the Runall: parameter.