Backing up a openSUSE machine

I am preparing a backup system for my personal home server that is running openSUSE 13.2.

I would like to backup:

  • system configuration (I guess /etc should be enough for this) so that I can reconfigure the server if I need to reinstall it or install a newer version on it
  • owncloud installation
  • web server (apache)
  • version control system (repos + config; svn & git)
  • and potentially some other parts

My plan is to prepare a python script that would:

  • be called from cron periodically (for example once per hour)
  • prepare daily snapshots from file system
  • prepare weekly snapshots from daily snapshots
  • prepare monthly snapshots from weekly snapshots

Just to clarify … I want to periodically call the script from cron to prevent the situation where a backup is not created if the computer is not running at the exact time when a backup is configured to be executed.

I would need help with the “backup” part, the script part should be easy :slight_smile:

I also have BTRFS as the file system on the server which also has some useful features for backup purposes.

My idea is to maybe have a snapshot as the “working copy” and then make a “complete” for one day of the week and “diffs” for the other six days of the week. The weekly snapshots could even serve for the purpose of a “complete” daily snapshot. From my research up to now it appears that rsync on its own or in combination with BTRFS would be the best choice, but there is so many different tutorials that mostly do solve my problem but not completely and there is usually not enough good justification why to do it in the presented way…

So I am looking for:
a) general idea how to do the backup “architecture”
b) command line options to do the actual backup

I guess there are several products where you can define backup cycles in the way you want it.

One comes to my mind: http://rsnapshot.org/
Rsnapshot is basicaly works with rsync to make the backups needed (and not to backup what is still the same).
The backup cycles you want to keep only have an unchanged file once.

Have look at it, were it only to gather ideas.

On 2015-05-18 19:26, hcvv wrote:
>
> I guess there are several products where you can define backup cycles in
> the way you want it.
>
> One comes to my mind: http://rsnapshot.org/
> Rsnapshot is basicaly works with rsync to make the backups needed (and
> not to backup what is still the same).
> The backup cycles you want to keep only have an unchanged file once.
>
> Have look at it, were it only to gather ideas.

Another one is rdiff-backup. The difference here is that the “diffs” are compressed, and that you need the same application in order to restore them.

I also like to keep a copy made with dd or clonezilla, because it is faster for restoration after a total failure.

I have a list of backup software here, some may have disappeared or obsoleted — you will have to investigate:

amanda
dar
rdiff-backup current copy is a mirror; older are rdifss.
rsnapshot current copy is a mirror; older are hardlinks and new files.
gadmin-rsync?
http://www.dirvish.org/
pdumpfs (http://0xcc.net/pdumpfs)
duplicity
duply
Back-In-Time (http://backintime.le-web.org/)
LuckyBackup
deja-dup
dropbox
duplicity
Duplicity incrementally backs up files and directories by encrypting
tar-format volumes with GnuPG and uploading them to a remote (or local)
file server. In theory many remote backends are possible; right now
local, ssh/scp, ftp, rsync, HSI, WebDAV, and Amazon S3 backends are
written.

Because duplicity uses librsync, the incremental archives are space
efficient and only record the parts of files that have changed since
the last backup. Currently duplicity supports deleted files, full unix
permissions, directories, symbolic links, fifos, etc., but not hard
links.

rdiff-backup
Convenient and transparent local/remote incremental mirror/backup

rdiff-backup backs up one directory to another, possibly over a network. The
target directory ends up a copy of the source directory, but extra reverse
diffs are stored in a special subdirectory of that target directory, so you
can still recover files lost some time ago. The idea is to combine the best
features of a mirror and an incremental backup. rdiff-backup also preserves
subdirectories, hard links, dev files, permissions, uid/gid ownership, and
modification times. Also, rdiff-backup can operate in a bandwidth efficient
manner over a pipe, like rsync. Thus you can use rdiff-backup and ssh to
securely back a hard drive up to a remote location, and only the differences
will be transmitted. Finally, rdiff-backup is easy to use and settings have
sensical defaults.

rear - Relax and Recover (ReaR) is a Linux Disaster Recovery framework

Relax and Recover (abbreviated rear) is a highly modular disaster recovery
framework for GNU/Linux based systems, but can be easily extended to other
UNIX alike systems. The disaster recovery information (and maybe the
backups) can be stored via the network, local on hard disks or USB devices,
DVD/CD-R, tape, etc. The result is also a bootable image that is capable of
booting via PXE, DVD/CD and USB media. Relax and Recover integrates with
other backup software and provides integrated bare metal disaster recovery
abilities to the compatible backup software.


Cheers / Saludos,

Carlos E. R.

(from 13.1 x86_64 “Bottle” (Minas Tirith))