aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMicah Anderson <micah@riseup.net>2005-10-26 23:04:16 +0000
committerMicah Anderson <micah@riseup.net>2005-10-26 23:04:16 +0000
commitc4785ba5edb9738f7e9da8c4086a4b6984515dd2 (patch)
treec632486eca3dc14bc60d2e9430e9772b81477fcd
parentd58025ceb0d044b0e21536262c2818a700c4a382 (diff)
downloadbackupninja-c4785ba5edb9738f7e9da8c4086a4b6984515dd2.tar.gz
backupninja-c4785ba5edb9738f7e9da8c4086a4b6984515dd2.tar.bz2
Moving to autotools standard layout
-rw-r--r--docs/README256
-rw-r--r--docs/changelog165
-rw-r--r--examples/example.dup (renamed from docs/examples/example.dup)0
-rw-r--r--examples/example.ldap (renamed from docs/examples/example.ldap)0
-rw-r--r--examples/example.makecd (renamed from docs/examples/example.makecd)0
-rw-r--r--examples/example.mysql (renamed from docs/examples/example.mysql)0
-rw-r--r--examples/example.pgsql (renamed from docs/examples/example.pgsql)0
-rw-r--r--examples/example.rdiff (renamed from docs/examples/example.rdiff)0
-rw-r--r--examples/example.sh (renamed from docs/examples/example.sh)0
-rw-r--r--examples/example.svn (renamed from docs/examples/example.svn)0
-rw-r--r--examples/example.sys (renamed from docs/examples/example.sys)0
-rw-r--r--examples/example.trac (renamed from docs/examples/example.trac)0
12 files changed, 0 insertions, 421 deletions
diff --git a/docs/README b/docs/README
deleted file mode 100644
index 849fe3a..0000000
--- a/docs/README
+++ /dev/null
@@ -1,256 +0,0 @@
-
- |\_
- B A C K U P N I N J A /()/
- `\|
-
- a silent flower blossom death strike to lost data.
-
-Backupninja allows you to coordinate system backup by dropping a few
-simple configuration files into /etc/backup.d/. Most programs you
-might use for making backups don't have their own configuration file
-format. Backupninja provides a centralized way to configure and
-coordinate many different backup utilities.
-
-Features:
- - easy to read ini style configuration files.
- - 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 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
-===================
-
-The general configuration file is /etc/backupninja.conf. In this file
-you can set the log level and change the default directory locations.
-You can force a different general configuration file with "backupninja
--f /path/to/conf".
-
-To preform the actual backup, backupninja processes each configuration
-file in /etc/backup.d according to the file's suffix:
-
- .sh -- run this file as a shell script.
- .rdiff -- filesystem backup (using rdiff-backup)
- .dup -- filesystem backup (using duplicity)
- .mysql -- backup mysql databases
- .ldap -- backup ldap databases
- .pgsql -- backup PostgreSQL databases
- .sys -- general hardware, partition, and system reports.
- .svn -- backup subversion repositories
- .maildir -- incrementally backup maildirs (very specialized)
-
-Support for additional configuration types can be added by dropping
-bash scripts with the name of the suffix into /usr/share/backupninja.
-
-The configuration files are processed in alphabetical order. However,
-it is suggested that you name the config files in "sysvinit style."
-
-For example:
- 00-disabled.ldap
- 10-runthisfirst.sh
- 20-runthisnext.mysql
- 90-runthislast.rdiff
-
-Typically, you will put a '.rdiff' config file last, so that any
-database dumps you make are included in the filesystem backup.
-Configurations files with names beginning with 0 (zero) or ending with
-.disabled (preferred method) are skipped.
-
-Unless otherwise specified, the config file format is "ini style."
-
-For example:
-
- # this is a comment
-
- [fishes]
- fish = red
- fish = blue
-
- [fruit]
- apple = yes
- pear = no thanks \
- i will not have a pear.
-
-
-SCHEDULING
-==========
-
-By default, each configuration file is processed everyday at 01:00 (1
-AM). This can be changed by specifying the 'when' option in a config
-file.
-
-For example:
-
- when = sundays at 02:00
- when = 30th at 22
- when = 30 at 22:00
- when = everyday at 01 <-- the default
- when = Tuesday at 05:00
-
-A configuration file will be processed at the time(s) specified by the
-"when" option. If multiple "when" options are present, then they all
-apply. If two configurations files are scheduled to run in the same
-hour, then we fall back on the alphabetical ordering specified above.
-If two configurations files are scheduled close to one another in
-time, it is possible to have multiple copies of backupninja running if
-the first instance is not finished before the next one starts.
-
-Make sure that you put the "when" option before any sections in your
-configuration file.
-
-These values for 'when' are equivalent:
-
- when = tuesday at 05:30
- when = TUESDAYS at 05
-
-These values for 'when' are invalid:
-
- when = tuesday at 2am
- when = tuesday at 2
- when = tues at 02
-
-
-REAL WORLD USAGE
-================
-
-Backupninja can be used to implement whatever backup strategy you
-choose. It is intended, however, to be used like so:
-
-(1) First, databases are safely copied or exported to /var/backups.
- Typically, you cannot make a file backup of a database while it
- is in use, hence the need to use special tools to make a safe copy
- or export into /var/backups.
-
-(2) Then, vital parts of the file system, including /var/backups, are
- nightly pushed to a remote, off-site, hard disk (using
- rdiff-backup). The local user is root, but the remote user is not
- priviledged. Hopefully, the remote filesystem is encrypted.
-
-There are many different backup strategies out there, including "pull
-style", magnetic tape, rsync + hard links, etc. We believe that the
-strategy outlined above is the way to go because: (1) hard disks are
-very cheap these days, (2) pull style backups are no good, because then
-the backup server must have root on the production server, and (3)
-rdiff-backup is more space efficient and featureful than using rsync +
-hard links.
-
-
-SSH KEYS
-========
-
-In order for rdiff-backup to sync files over ssh unattended, you must
-create ssh keys on the source server and copy the public key to the
-remote user's authorized keys file. For example:
-
- root@srchost# ssh-keygen -t dsa
- root@srchost# ssh-copy-id -i /root/.ssh/id_dsa.pub backup@desthost
-
-Now, you should be able to ssh from user 'root' on srchost to
-user 'backup' on desthost without specifying a password.
-
-Note: when prompted for a password by ssh-keygen, just leave it
-blank by hitting return.
-
-The included helper program "ninjahelper" will walk you through creating
-an rdiff-backup configuration, and will set up the ssh keys for you.
-
-INSTALLATION
-============
-
-Requirements:
- apt-get install bash gawk
-
-Recommended:
- apt-get install rdiff-backup gzip hwinfo
-
-Files:
- /usr/sbin/backupninja -- main script
- /etc/cron.d/backupninja -- runs main script nightly
- /etc/logrotate.d/backupninja -- rotates backupninja.log
- /etc/backup.d/ -- directory for configuration files
- /etc/backupninja.conf -- general options
- /usr/share/backupninja -- handler scripts which do the actual work
-
-Installation:
- There is no install script, but you just need to move files to the
- correct locations. All files should be owned by root.
-
- # tar xvzf backupninja.tar.gz
- # cd backupninja
- # mv backupninja /usr/sbin/backupninja
- # mv ninjahelper /usr/sbin/ninjahelper
- # mv etc/logrotate.d/backupninja /etc/logrotate.d/backupninja
- # mv etc/cron.d/backupninja /etc/cron.d/backupninja
- # 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}'`)
-
-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.
-
diff --git a/docs/changelog b/docs/changelog
deleted file mode 100644
index 04b6181..0000000
--- a/docs/changelog
+++ /dev/null
@@ -1,165 +0,0 @@
-version 0.9.1
- fixed many bugs in rdiff helper
- rdiff handler does not require 'label'
-
-version 0.9 -- October 19 2005
- *** IMPORTANT CHANGE, UPGRADE AT ONCE ***
- fixed insecure temporary file creation
- *****************************************
- removed erroneous magic file marker in pgsql handler
- fixed incorrect find positional
- changed direct grep of /etc/passwd to getent passwd.
- rdiff helper has much better information on failed ssh attempt
- (patch from cmccallum@thecsl.org).
- rdiff handler now supports remote source and local dest.
- (patch from cmccallum@thecsl.org).
- man pages are greatly improved.
-
-version 0.8 -- September 15 2005
- added pgsql (PostgreSQL) handler, with vservers support.
- added vservers support to duplicity handler
- Note: the configuration is a bit different than the rdiff
- handler's one, but the default behavior is the same:
- have a look at example.dup.
- improved README
- documented .disabled method.
- corrected VROOTDIR default value.
- added ninjahelper to the install instructions.
- improved rdiff, dup and sys handlers' vservers support
- prevent vserver-debiantools' $VROOTDIR/ARCHIVES directory
- to be seen as a vserver
- changes to sys handler
- make use of configurable $VSERVERINFO instead of hard-coded vserver-info.
- fixed dpkg existence test inside vserver.
- fixed $nodpkg use.
- changes to pgsql handler
- now checks if the specified vserver is running.
- now checks if $PGSQLDUMP/$PGSQLDUMPALL are available where needed.
- now checks if "postgres" user exists on the host/vserver.
- changes to ninjahelper
- check_perms() does not die anymore on group/world readable
- helper scripts (now consistent with the "helper scripts
- must not be group or world writable!" error msg).
- xedit action now tries $EDITOR, then /etc/alternatives/editor,
- then nano, vim and vi, and aborts if none of these exists.
- added helper for pgsql handler.
- rdiff handler now does not require 'label'
- changes to mysql and svn handlers' vservers support
- these handlers now check if the source vserver is running
- added 'ignores' for mysql handler. (thanks Daniel.Bonniot@inria.fr)
-
-version 0.7 -- July 26 2005
- added ninjahelper: a dialog based wizard for creating backupninja configs.
- considerably improved and changed the log file output.
- you can now disable actions with .disabled (this is new preferred method).
- added makecd handler and example.makecd for backing up to cd/dvd (thanks stef).
- fixed bug when specifying multiple 'when' options.
-
-version 0.6 -- June 16 2005
- ldap handler has new options: backup method to use (ldapsearch or
- slapcat), restart, passwordfile and binddn. Default backup method
- is set to ldapsearch as this is safer
- ******************************************************************
- NOTE: to get the previous default behavior with the ldap handler,
- you must set "method = slapcat". The new default is ldapsearch.
- ******************************************************************
- implemented fix so that the main script will echo fatal errors rather
- than being silent about them, this means an error message every hour
- if there is a major configuration problem (not a handler problem)
- added vserver support to main script and to the handlers: mysql, svn, sys, rdiff
- changes to duplicity handler (thanks intrigeri!):
- "keep = yes" now disables file cleaning on desthost
- added "sign" option for backups signing
- added "encryptkey" option to specify the gpg key to use
- split config into [source], [gpg] and [dest] sections
- added "nicelevel" option
- added "testconnect" option
- added "sshoptions" option (will be passed to ssh/scp)
- added "bandwidthlimit" option
- example.dup example config file for duplicity handler
- added trac (http://trac.edgewall.com/) environment handler (thanks Charles Lepple!)
- added configfile option to mysql handler
- the default is /etc/mysql/debian.cnf. with this,
- sqldump doesn't need dbusername. (hotcopy still does).
- fixed bug in mysql handler which caused some passwords to not work.
- (.my.cnf files now have double quotes around password)
- can now pass options to hwinfo and sfdisk in sys handler.
-
-version 0.5 -- April 12 2005
- rdiff handler works when remote sshd has a banner
- rdiff handler supports local dest
- logfile is created if it doesn't exist
- added "when = hourly"
- added optional 'nicelevel' to rdiff handler
- fixed bug where actions were not run in numeric order.
- improved 'when' parsing.
-
-version 0.4.4 -- March 18 2005
- results of handlers are now read line by line.
- changes to rdiff handler: added "options", and "keep" is
- not necessarily days now (ie, it will pass straight through to
- rdiff-backup if the keep has a unit on it, otherwise it adds the 'D').
- added dup handler (still pretty beta)
- added maildir handler (very specialized handler)
- added --run option (runs the specified action file)
- improved sys handler, now uses hwinfo
- added subversion hotbackup handler, svn.
- added PATH to cron.d file, which fixes file not found errors.
-
-version 0.4.2 -- Jan 6 2005
- fixed bug which caused a report email to be sent even if no actions were run.
- fixed bug where multiple handler status messages were ignored
- added status in the subject line of report emails
-
-version 0.4.1 -- Jan 3 2005
- added $usecolors and now more conservative about when colors are echoed.
- fixed major bug, 'when' actually works now.
- replaced debug function with debug, info, warning, error, fatal.
- added --now option to force all actions to be performed now.
-
-version 0.4 -- Dec 26 2004
- added "when" option, so that all configs can specify when
- they are to be run.
- added reportsuccess and reportwarning config options
- added .sys handler (hardware, packages, partitions).
-
-version 0.3.4 -- Dec 8 2004
- fixed numerical variable quoting compatibility with older wc
- fixed stderr redirect bug
- some comments in example.rdiff
-
-version 0.3.3 -- Nov 10 2004
- '*' (asterisk) works now in rdiff config files
- works now with gawk as well as mawk
- many bug fixes to ldap handler
- paths to helper scripts can be configured in global config
- does not require /usr/bin/stat
-
-version 0.3.2 -- Sept 29 2004
- handler scripts are no longer executable (to comply with debian policy)
- handler error and warning messages are sent with the notify email
-
-version 0.3.1 -- Sept 5 2004
- added ldap handler
- moved sh support to a handler script
- add test mode, where no action is taken.
- added --help
- force only root can read /etc/backup.d/*
- fixed missing equals symbols in example.rdiff
- changed backupninja executable to be /usr/sbin rather than /usr/bin
-
-version 0.3 -- Oct 20 2004
- ** IMPORTANT ** all config files are now ini style, not apache style
- rewrote all scripts in bash for portability
- added drop-in backupninja lib directory (/usr/share/backupninja)
- all scripts are now run as root
-
-version 0.2 -- Oct 14 2004
- move distribution folder ./cron.d to ./etc/cron.d
- fixed bug: removed printr of excludes (!)
- added support for changing the user/group in rdiff sources.
- added support for .mysql config files.
-
-version 0.1 -- Oct 8 2004
- initial release
-
diff --git a/docs/examples/example.dup b/examples/example.dup
index 7db7771..7db7771 100644
--- a/docs/examples/example.dup
+++ b/examples/example.dup
diff --git a/docs/examples/example.ldap b/examples/example.ldap
index adc1fcd..adc1fcd 100644
--- a/docs/examples/example.ldap
+++ b/examples/example.ldap
diff --git a/docs/examples/example.makecd b/examples/example.makecd
index b01094e..b01094e 100644
--- a/docs/examples/example.makecd
+++ b/examples/example.makecd
diff --git a/docs/examples/example.mysql b/examples/example.mysql
index 51c2247..51c2247 100644
--- a/docs/examples/example.mysql
+++ b/examples/example.mysql
diff --git a/docs/examples/example.pgsql b/examples/example.pgsql
index d9aab42..d9aab42 100644
--- a/docs/examples/example.pgsql
+++ b/examples/example.pgsql
diff --git a/docs/examples/example.rdiff b/examples/example.rdiff
index 8878ad0..8878ad0 100644
--- a/docs/examples/example.rdiff
+++ b/examples/example.rdiff
diff --git a/docs/examples/example.sh b/examples/example.sh
index f02f026..f02f026 100644
--- a/docs/examples/example.sh
+++ b/examples/example.sh
diff --git a/docs/examples/example.svn b/examples/example.svn
index e849706..e849706 100644
--- a/docs/examples/example.svn
+++ b/examples/example.svn
diff --git a/docs/examples/example.sys b/examples/example.sys
index 9ebd4b2..9ebd4b2 100644
--- a/docs/examples/example.sys
+++ b/examples/example.sys
diff --git a/docs/examples/example.trac b/examples/example.trac
index 645998e..645998e 100644
--- a/docs/examples/example.trac
+++ b/examples/example.trac