Bashup is an easy to use but complex shell script for automating backups. It is designed to have a minimum set of requirements (e.g. no external language interpreter like ruby, python, perl). It provides you with tasks for backing up directories, mysql, postgresql, oracle and subversion data, compressing them with gzip or bzip2, sending them via ftp, rsync, scp or Amazon S3, and even rotating them through this methods. It also features an extensible error reporting
mechanism.
In spite of its name, Bashup does not depend on the Bash "Bourne Again Shell" only. Bashup should work with any Bourne shell compatible shell like the original Bourne shell (often refered as "sh"), the Korn shell (ksh), the Bourne Again Shell (bash) and other descendants. The Debian Almquist Shell (dash) is used in development.
Bashup can be used as a framework for writing enhanced shell backup scripts. Though you actually don’t need a framework for this, Bashup prevents you starting from scratch and provides you with a lot of neat methods for common tasks. Working with Bashups means relying on well tested shell code rather than reinventing the wheel.
Bashup is written with extensibility in mind. With some shell scripting experience you should be able to add your own tasks and filters.
SUPPORTED TASKS
In Bashup, supported data sources are called "tasks". A supported data source is a source that
Bashup knows about instead of doing simple raw data backup.
- file/directory,
- MySQL,
- Postgresql,
- Oracle,
- Subversion.
SUPPORTED FILTERS
"Filters" provide a pluggable way of manipulating backup data.
- gzip compression,
- bzip2 compression,
- lzma compression,
- gpg symmetric encryption.
SUPPORTED TARGETS
"Targets" are the places where Bashup stores the backup data.
- local file/directory,
- FTP,
- SSH server (scp),
- RSYNC (also over ssh),
- Amazon S3.
View full history Series and milestones
trunk series is the current focus of development.