Provided by: backupninja_1.1.0-2.1_all
BACKUPNINJA - A lightweight, extensible meta-backup system "a silent flower blossom death strike to lost data."
backupninja [ -h ] [ -d ] [ -n ] [ -t ] [ -f filename ] [ --run filename ]
Backupninja allows you to coordinate system backups 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.
- 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. - in order to backup a db or sql database, you cannot simply copy database files. backupninja helps you safely export the data to a format which you can backup. - works with Linux-Vservers. Backup types include: - secure, remote, incremental filesystem backup (via rdiff-backup). incremental data is compressed. permissions are retained even with an unpriviledged backup user. - basic system and hardware information. - encrypted remote backups (via duplicity). - safe backup of MySQL, PostgreSQL, OpenLDAP, and subversion databases. - burn CD/DVDs or create ISOs.
-h, --help Show summary of options -d, --debug Run in debug mode, where all log messages are output to the current shell. -f, --conffile CONF_FILE Use CONF_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. --run ACTION_FILE Runs the action configuration ACTION_FILE and exits.
General settings are configured in /etc/backupninja.conf. In this file you can set the log level and change the default directory locations. See backupninja.conf(5). To preform the actual backup actions, backupninja processes each action configuration file in /etc/backup.d according to the file's suffix. See backup.d(5).
Backupninja can be used to implement whatever backup strategy you choose. It is intended, however, to be used like so: First, databases are safely copied or exported to /var/backups. Often, 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. 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 privileged. Hopefully, the remote filesystem is encrypted. In order for this to work (ie for diff-backup to run 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 rsa -b 4096 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. When prompted for a password by ssh-keygen, just leave it blank by hitting return. The "wizard" ninjahelper(1) will walk you through these steps.
/usr/sbin/backupninja main script /etc/backupninja.conf main configuration file; general options /etc/cron.d/backupninja runs main script hourly /etc/logrotate.d/backupninja rotates backupninja.log /etc/backup.d directory for configuration files /usr/share/backupninja directory for handler scripts /usr/share/doc/backupninja/examples example action configuration files.
ninjahelper(1), backupninja.conf(5), backup.d(5),
BACKUPNINJA was written by the riseup.net collective.