vbackup(8)
NAME
vbackup - A modular backup program
SYNOPSIS
vbackup [OPTIONS] <backup configuration directory> or vbackup [OPTIONS] --list or vbackup [OPTIONS] --check <backup configuration directory> or vbackup --help [<module>] or vbackup --version
DESCRIPTION
vbackup is a program that performs system backups. The backup strategy
is specified with a set of minimal configuration files that exist in
directories under /etc/vbackup. See the quickstart section for quick
first-time setup.
OPTIONS
- --check <backup configuration directory>
- Check configuration files for a specific backup strategy. Each module checks its own configuration file.
- -d <level>
- Set the message level to <level> (default level is 8): 1: Fatal, 2: Error, 3: Warning, 4: Note, 5-7: Information (5: Rare messages, 6: Usefull message, 7: Not so usefull), 10-14: Debug messages that don't flood, 15-19: Debug messages that flood
- --help [<module>]
- Show some help. If a module is passed as argument the it will display some help about that module. This is where the module configuration parameters are shown.
- --list List all available modules, their version and some brief
- description.
- --version
- Guess what...
QUICKSTART
Use the vbackup-wizard(8) for quickstarting. Most probably that's what
you will do the first time.
CONFIGURATION
The backup strategy is specified with a set of minimal configuration
files that exist in directories under /etc/vbackup. Each directory is
named backup.XXXXX where XXXXX is the name of the backup strategy.
For example, a simplistic backup strategy may have two directories
named backup.0 and backup.5. Each of them will include configuration
files that describe level 0 and leve 5 system backups.
It is adviced to have a directory named rc.d under /etc/vbackup that
will hold all configuration files. After that, individual backup.XXXXX
directories will only contain links to those files. It is absolutely
sure that some files will be the same among different backup strategies
and trying to keep them synchronized will be an uneeded pain.
Each configuration file must contain a vbackup.conf file that specifies some global configuration options (like a destination directory). Next, it must contain one or more module configuration files. The available modules can be seen using the --list parameter. Each configuration file is in the form something.modulename. It is suggested that something is in the form of NN-string where NN is a two (or more) digit number and string is a descriptive string. For example, a good name is "00-myserver.nfsmount". This clearly shows that a path in myserver will be mounted using nfs and it will help you when 2 years later. The number prefix helps in determining the sorting order. All configuration files are examined in a sorted order.
The complete documentation is in the README files.
BACKUP
After having created at least one backup.XXXXX directory in
/etc/vbackup, you can perform that backup by running "vbackup XXXXX".
This will first source the vbackup.conf and it will then check for
existing configuration files. For each one that is found, it will
determine the appropriate backup module and run it.
MODULES
- dpkg Backup the debian package list. Small space requirement and very
- usefull for restoring a debian system.
- exist Check whether a file or directory exists. This can be used to
- determine whether a filesystem is actually mounted or not. It is strongly advised to use this when you're not using mount or nfsmount!
- ftar Use tar to backup a filesystem but use find to locate the files
- to backup. This is simillar to the tar method but is not that good for incremental backups. If you restore a system that was incrementally backed up using this method it will have all files that were deleted between intermediate backups too. The advantage of this method is that you can use regular expression to filter files that will be backed up.
- mbr Backup MBRs from all disks and their Partition Tables. It will
- also backup MD and LVM information if any of those is detected. Extremely usefull with very low space requirements.
- mount Mount a local filesystem, in case you have an unmounted filesys
- tem to perform backups (for example a spare or external disk).
- mysql Backup some or all MySQL databases.
- nfsmount
- Mount a remote filesystem using NFS.
- off Don't do anything at all. Very usefull for disabling configura
- tion files. For example, if you rename 50-main.pgsql to 50-main.pgsql.off it will remain in the configuration directory by will be disabled.
- pgsql Backup some or all PostgreSQL databases.
- tar Perform incremental backups using the listed-incremental format
- of GNU tar. Use the --noplugin parameter when editing tar configuration files (!!!).
- umount Umount a filesystem that was previously mounted. This can be
- used for local and remote mounts. The configuration of this module is compatible with the configuration of mount and nfsmount modules. This means that you can just create a link to the coresponding mount configuration file to have it unount the filesystem. (For example, link 00-remote.nfsmount to 99-remount.umount)
- xfsdump
- Perform incremental backups using xfsdump. This is by far the very best way to backup an XFS filesystem (as a whole). It works extremely well, it is very reliable and it is able to do live backups. It is also very easy to restore all or part of the backed-up data using the interactive xfsrestore utility (xfsrestore -i).
EXTENDING
You can extend vbackup by writting very simple scripts that will be
combined with other scripts. Read the README.dev file for more information and have a look at other modules.
AUTHOR - COPYRIGHT
vbackup is written and maintained by Stefanos Harhalakis. Copyright
(c) 2006-2008 Harhalakis Stefanos
CONTACT
For bugs, requests, ideas, comments or anything else (except spam) contact <v13@v13.gr>
LICENSE
This program is free software; you can redistribute it and/or modify it
under the terms of the GNU General Public License as published by the
Free Software Foundation; either version 3 of the License, or (at your
option) any later version.
This program is distributed in the hope that it will be useful, but
WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General
Public License for more details.
If GPLv3 doesn't fit your needs (BSD?) feel free to contact me and I
may release it with another license too.