iBackup Logo Version 2.27 download .tar.gz | changelog | Debian | Solaris | RPM

What is it?
iBackup simplifies backing up the system configuration files (/etc) for UNIX systems (Solaris, *BSD, Linux). You can run the program from any directory, it will by default save the (maybe compressed) tarball to /root. It is possible to encrypt the tarball, to upload the tarball to some other host and run this backup automated in a cronjob. You could also send the backup by mail, using nail.
You might want to check the man pages of tar(1), scp(1), gzip(1), compress(1), ncftp(1), openssl(1) and kimmo.suominen.com/ssh/ for an introduction to ssh/scp with public/private keys. You can also generate reports about the running system, which look like this.

Installation from source
gzip -dc ibackup-2.27.tar.gz | tar -xvf -
make install install-config

Installation on Solaris
You can either use the package on this site or make your own with make pkg.
pkgadd -d ibackup-2.27-sol-all.pkg

Installation on Debian
Debian does provide packages for testing and unstable.
apt-get update && apt-get install ibackup
cp /usr/share/doc/ibackup/examples/ibackup.conf /etc

Installation on a RPM based system
You can either use the package on this site or make your own with make rpm.
rpm -i ibackup-2.27-1.noarch.rpm

Configuration
$EDITOR /etc/ibackup.conf

Dependencies
GNU Bash (recommended)
OpenSSH (recommended)

Usage
Run ibackup with one or more of the following parameters:
linuxsave system configuration of Linux (Debian, Slackware)
solarissave system configuration of Solaris
bsdsave system configuration of FreeBSD, NetBSD and OpenBSD
sysconfgenerate and save a HTML system configuration report, example
mysql-fssave MySQL configuration and db (filesystem)
mysql-dumpsave MySQL configuration and db (dump)
postgresql-fssave PostgreSQL configuration and db (filesystem)
postgresql-dumpsave PostgreSQL configuration and db (dump)
apachesave Apache configuration
squidsave Squid configuration
bindsave Bind configuration
pkssave OpenPGP Public Key Server configuration and data
mailmansave Mailman configuration and data
aidesave AIDE configuration
raptorsave Raptor/Symantec Firewall configuration
ipsosave Checkpoint and system configuration of Nokia IPSO
--compresscompress the tarball
--dont-compressdon't compress the tarball
--encrypt | -eencrypt the tarball
--upload | -uupload the tarball (scp/ftp)
--dont-uploaddon't upload the tarball

Running iBackup without parameter gives you a list of available configurations. You should check the source to add your own parameters (things to backup or exclude). When restoring make sure you are in /, unpacking in /pub would restore your backups in there.

Output
iBackup will produce a tarball named like this hostname_date_time.tar[.gz|.Z] including all the configuration files you specify as parameters.

Example
root@silverhorse:~# ibackup linux sysconf
root@silverhorse:~# ls -la
-rw------- 1 root root 158269 Jan 15 14:59 silverhorse_15011963_1459.tar.gz
root@silverhorse:~# _

Setting up a cronjob
This will set up a cronjob for a quarter past 6 am daily.
root@silverhorse:~# export EDITOR=mcedit
root@silverhorse:~# crontab -e
15 6 * * * /usr/bin/ibackup linux apache postgresql-dump > /dev/null 2>&1
15 6 * * * (/usr/bin/sysconf 2>/dev/null | mail -a "Content-type: text/html" -s "System Report" jolly@jumper.net)
root@silverhorse:~# crontab -l
15 6 * * * /usr/bin/ibackup linux apache postgresql-dump > /dev/null 2>&1
15 6 * * * (/usr/bin/sysconf 2>/dev/null | mail -a "Content-type: text/html" -s "System Report" jolly@jumper.net)
root@silverhorse:~# _

Can I add support for other configurations?
Of course you can, just edit /usr/bin/ibackup to fit your needs, if you think your changes might be useful for others, don't hesitate to send them to me. Let us have a look at the mysql-fs example
case $@ in *mysql-fs*)
   pre="/etc/init.d/mysql stop"
   post="/etc/init.d/mysql start"
   dir="$dir var/lib/mysql etc/mysql";;
esac
We define the variable pre which is executed before we create the tarball (here we stop the database). The post variable says what to do after we have created our backup (in this example start the database). In the dir variable we define what paths or files we want to backup, it is important to not have a / at the beginning (for example etc, not /etc). You can exclude files by writing them to /tmp/excludes (for example "echo etc/shadow >> /tmp/excludes").

Restore from a backup
Following command restores the complete etc directory to /
cd /
gzip -dc silverhorse_15011963_1459.tar.gz | tar -xvf - etc

I Thank
mcduke on fn (#macdev) for making the logo (even when he was dead tired)
ORBman from #windowmaker for giving me security related tips and telling me about openssl
mentor (my hero) from #debian for fixing the upload bug

Name issue (tm)
Please note the content and services related to ibackup are not related to online storage and online backup services offered at IBackup (http://www.ibackup.com). The use of ibackup name here refers to a set of tools and utilities for backups on unix alike platforms. The trademark rights to the IBackup word and stylized logo are international.

04/06/2003 gurkan@aiei.ch

debian banner