If you don't mind working with the console try backup-manager
, it comes along with the distribution. The handling is done with one config file sitting in /etc.
sudo apt-get install backup-manager
To modify the file you could use nano in the console.
sudo nano /etc/backup-manager.conf
You won't need most of it. What I personally like is, that no additional packages are needed.
Here is a small example of a backup.
Where to store the files?
##############################################################
# Repository - everything about where archives are
#############################################################
# Where to store the archives
export BM_REPOSITORY_ROOT="/var/archives"
choose your Directory, where to put the files.
Pay close attention to the following settings there
# For security reasons, the archive repository and the generated
# archives will be readable/writable by a given user/group.
# This is recommended to set this to true.
export BM_REPOSITORY_SECURE="true"
# The repository will be readable/writable only by a specific
# user:group pair if BM_REPOSITORY_SECURE is set to true.
export BM_REPOSITORY_USER="root"
export BM_REPOSITORY_GROUP="root"
# You can also choose the permission to set the repository, default
# is 770, pay attention to what you do there!
export BM_REPOSITORY_CHMOD="770"
If you backup something like /home
or /movie
you might leave this option on, so only root and the root group might be able to access the backup
For a server backup (e.g. a multi user server and/or folders like /var/www/
/opt/
/etc/
/var/
) you might consider setting this option to false to preserve ownership/accessability of the files after a restore. Otherwise you'll need to manually set them after a restore.
Choose your backup-method
##############################################################
# Archives - let's focus on the precious tarballs...
##############################################################
# The backup method to use.
# Available methods are:
# - tarball
# - tarball-incremental
# - mysql
# - pgsql
# - svn
# - pipe
# - none
# If you don't want to use any backup method (you don't want to
# build archives) then choose "none"
choose
export BM_ARCHIVE_METHOD="tarball-incremental"
Choose the directories to backup
Further info can be found in the section
##############################################################
# Section "TARBALL"
# - Backup method: tarball
#############################################################
Here I checked the following options
export BM_TARBALL_FILETYPE="tar.bz2"
export BM_TARBALL_DIRECTORIES="/etc /var/www /home/wikibackup"
Choose rotation of master and incrementals
##############################################################
# The tarball-incremental method uses the same keys as the
# tarball method, plus two others.
#############################################################
I've choosen to do weekly full backups on monday (first day of the week). That means every monday I get a full backup and the rest of the week will be saved in different smaller incremental files. So restoring them would mean. Resotre the full backup and after that the incremental files, to get back the latest backup of your data.
export BM_TARBALLINC_MASTERDATETYPE="weekly"
export BM_TARBALLINC_MASTERDATEVALUE="1"
Cronjob
Use a simple cronjob to do the backup automatically
sudo -i
crontab -e
Enter the following
00 03 * * * /usr/sbin/backup-manager >/dev/null 2>&1
If you need a notification email remove this part
>/dev/null 2>&1