made it so that helpers are dynamically defined.
[matthijs/upstream/backupninja.git] / README
diff --git a/README b/README
index 619f8929b923257a8fbe12523ab9c60b11c46902..80e9f073d22cd4cd81ea2167f2573a2cab668587 100644 (file)
--- a/README
+++ b/README
@@ -13,27 +13,38 @@ coordinate many different backup utilities.
 
 Features:
  - easy to read ini style configuration files.
- - secure, remote, incremental filesytem backup (via rdiff-backup).
-   incremental data is compressed. permissions are retained even
-   with an unpriviledged backup user.
- - backup of mysql databases (via mysqlhotcopy and mysqldump).
- - backup of ldap databases (via slapcat and ldapsearch).
- - passwords are never sent via the command line to helper programs.
  - you can drop in scripts to handle new types of backups.
  - backup actions can be scheduled
  - you can choose when status report emails are mailed to you
    (always, on warning, on error, never).
+ - console-based wizard (ninjahelper) makes it easy to create
+   backup action configuration files.
+ - passwords are never sent via the command line to helper programs.
+ - works with Linux-Vservers (http://linux-vserver.org/)
  
+Backup types:
+ - secure, remote, incremental filesytem backup (via rdiff-backup).
+   incremental data is compressed. permissions are retained even
+   with an unpriviledged backup user.
+ - backup of mysql databases (via mysqlhotcopy and mysqldump).
+ - backup of ldap databases (via slapcat and ldapsearch).
+ - basic system and hardware info
+ - encrypted remote backups (via duplicity).    
+ - backup of subversion repositories.
+
 The following options are available:
 -h, --help           This usage message
 -d, --debug          Run in debug mode, where all log messages are
                      output to the current shell.
 -f, --conffile FILE  Use FILE for the main configuration instead
                      of /etc/backupninja.conf
--t, --test           Run in test mode, no actions are actually taken.
--n, --now            Perform actions now, instead of when they
-                     might be scheduled.
-
+-t, --test           Test run mode. This will test if the backup could run, without actually
+                     preforming any backups. For example, it will attempt to authenticate
+                     or test that ssh keys are set correctly.
+-n, --now            Perform actions now, instead of when they might be scheduled.
+                     No output will be created unless also run with -d.
+--run FILE           Runs the specified action FILE (e.g. one of the /etc/backup.d/ files).
+                     Also puts backupninja in debug mode.
 
 CONFIGURATION FILES
 ===================
@@ -49,9 +60,11 @@ file in /etc/backup.d according to the file's suffix:
   .sh      --  run this file as a shell script.
   .rdiff   --  this is a configuration for rdiff-backup
   .maildir --  this is a configuration to backup maildirs
+  .dup     --  this is a configuration for duplicity
   .mysql   --  mysql backup configuration
   .ldap    --  ldap backup configuration
   .sys     --  general system reports
+  .svn     --  subversion repository backups
 
 Support for additional configuration types can be added by dropping
 bash scripts with the name of the suffix into /usr/share/backupninja. 
@@ -169,10 +182,7 @@ Requirements:
   apt-get install bash gawk
 
 Recommended: 
-  apt-get install rdiff-backup gzip
-
-Suggested:
-  apt-get install discover  
+  apt-get install rdiff-backup gzip hwinfo
 
 Files:
   /usr/sbin/backupninja        -- main script
@@ -194,3 +204,45 @@ Installation:
   # mkdir /etc/backup.d/
   # mv etc/backupninja.conf /etc/backupninja.conf
   # mv handlers /usr/share/backupninja
+
+
+VSERVERS
+========
+
+If you are using Linux-Vservers (http://linux-vserver.org/) there are some
+special capabilities that different handlers have to make vserver backups easier.
+Set the variable "vservers" to be "yes" in /etc/backupninja.conf and see the
+example configuration files for each handler to configure the vserver specific
+variables.
+
+Additional vserver variables that can be configured in /etc/backupninja.conf. but
+probably don't need to be changed:
+
+VSERVERINFO (default: /usr/sbin/vserver-info)
+VSERVER (default: /usr/sbin/vserver)
+VROOTDIR (default: `$VSERVERINFO info SYSINFO |grep vserver-Rootdir | awk '{print $2}'; fi`)
+
+NINJAHELPER
+===========
+
+Ninjahelper is an additional script which will walk you through the process of
+configuring backupninja. Ninjahelper has a menu driven curses based interface
+(using dialog). 
+
+To add an additional 'wizard' to ninjahelper, follow these steps:
+
+(1) to add a helper for the handler "blue", create the file
+    blue.helper in the directory where the handlers live.
+    (ie /usr/share/backupninja).
+
+(2) next, you need to add your helper to the global HELPERS variable
+    and define the main function for your helper (the function name
+    is always <helper>_wizard). for example, blue.helper:
+       HELPERS="$HELPERS blue:description_of_this_helper
+       blue_wizard() {
+         ... do work here ...
+       }
+
+(3) check the examples of the included helpers to see how they are
+    written. The dialog functions are defined in easydialog.sh.
+