Star InactiveStar InactiveStar InactiveStar InactiveStar Inactive
  • Primary features
    • Unattended full or incremental system backup with no shutdown of the system.
    • Backupy types
      • rsync
      • tar/tgz
      • dd/ddz
    • No manual intervention required. Backups are created via cron over night.
    • Important services can be stopped before starting the backup and will be restarted when the backup finished.
    • Any device mountable on Linux can be used as backup space (local USB disk, remote nfs drive, remote samba share, remote ssh server using sshfs, remote ftp server using curlftpfs, webdav drive using davfs, ...).
    • Supported systems
      • SD card only
      • USB disk or SSD only (USB boot mode)
      • SD card for boot and USB disk or SSD for root system (for Raspberries not able to use USB boot)
    • Messages and completion status of backup sent via eMail or Telegram.
    • Any additional logic can be added at various steps in the backup and restore process via extensionpoints.
    • Restored backup will boot immediately.
  • Backup strategies
    • Number of backup versions to keep configurable either for sum of backups or on individual backup types
    • Smart recycle backup strategy available (e.g. save backups of last 7 days, last 4 weeks, last 12 months and last n years) - also known as grandfather, father and son backup rotation principle. The smart recycle strategy algorithm was inspired by Manuel Dewalds great article Automating backups on a Raspberry Pi NAS
    • Manual backup allows to create a kind of snapshot of the system just before major updated are done on a system.
  • Linux backup tools used
    • Standard Linux backup tools dd, tar and rsync can be used to create a backup.
    • dd and tar are full backups. rsync uses hardlinks for incremental backups.
    • dd backups can be restored with Windows tools.
  • Installation
    • Menu driven installer installs and configures raspiBackup with all major options to get raspiBackup up and running in 5 minutes. Much more options can be configured in a configuration file.
  • Usability
    • National language support:
      • English (Default)
      • German
      • Finnish
      • Chinese
      • French
    • More than 270 messages inform about
      • Backup progress
      • Configuration mismatches
      • Environment mismatches
      • Runtime errors
  • Reliability
    • Automated regressiontests make sure a new release will still backup and restore successfully.
  • Serviceability
    • Extensive logging helps to isolate backup/restore issues.
  • Much more features
Star InactiveStar InactiveStar InactiveStar InactiveStar Inactive

I just got a CM4 donated with 1GB main memory, 32GB eMMC and 128 GB NVMe. Thank you very much to the donator!

CM4 was already supported by raspiBackup but only running from a SD card, eMMC or USB boot. It's already possible to use NVMe when it's provided in an USB plug because it's exposed as a normal disk as /dev/sdx but there was no way to use a NVMe plugged in in the PCI lane exposed as /dev/nvme.  Now  I fortunately was able to add  this support to raspiBackup. This support is available in a the inofficial release and is planned to be officially available in the next release of raspiBackup.


Star InactiveStar InactiveStar InactiveStar InactiveStar Inactive

raspiBackup is supported with RaspbianOS and Raspberry hardware only. But raspiBackup can also be used successfully on different hardware with different Linux distributions. Just test raspiBackup on your environment and be happy if it works. But if it fails or you get error messages there is no support. Given the fact raspiBackup is maintained and supported for free

1) It's too expensive for me to buy all possible hardware required for tests

2) it's too expensive for me to setup and execute all test combinations

3) it's to expensive for me to execute all tests every time a new release will be published.

There exists a small script in github which tests whether the present environment is supported by raspiBackup. (see here)

User Rating: 5 / 5

Star ActiveStar ActiveStar ActiveStar ActiveStar Active

raspiBackupInstallUI and raspiBackup right now writes messages in German and English only. But both are able to write messages in any language from a coding point of view (I18N). Unfortunately I'm a German native speaker and can speak English and a little bit French and thus I'm unable to add any other language (L10N) and need help on this. Anybody who is willing to help to add support for a new language other than German and English is welcome. Just add your interest in a comment on this page and we will find a way to add your translated messages to raspiBackupInstallUI and raspiBackup.

User Rating: 5 / 5

Star ActiveStar ActiveStar ActiveStar ActiveStar Active

Sometimes you don't want to restore a whole system but restore only some files or directories. That's not directly supported by raspiBackup. But given the fact raspiBackup was designed to restore a system from it's backups with plain Linux tools it's possible for all three backup types. But all activities have to be done on a Linux system because the tools used to retrieve the data are Linux tools. The most convenient way to retrieve backup data is offered by rsync. dd and tar require to execute some commands in the command line first.

User Rating: 5 / 5

Star ActiveStar ActiveStar ActiveStar ActiveStar Active

From time to time there will be a new raspiBackup version be created which includes new features, enhancements and bug fixes. This version will go though an automated regession test which tests the main backup- and restorefunction. Next all new features, enhancements and bug fixes will be tested again manually even they were tested during development. Now the existing version will be published as beta. Everybody will get notified with a smiley :D in the eMail subject and a dedicated message wll inform about the beta availability.  Now every raspibackup user can test the new beta version and to create a problem record if an issue is discovered. It's not possible to test all possible system environment configurations. Thus everybody who tests the beta will help to make sure there will no error been introduced in the new version.

Next page describes how to install the beta, how to uninstall the beta and revert to the previous version and how to create a problem record.


User Rating: 4 / 5

Star ActiveStar ActiveStar ActiveStar ActiveStar Inactive

raspiBackup can be used to restore a backup to it's original device configuration. There exist 3 configurations:

1) /boot and / on SD card

2) /boot on SD card and / external on a SSD, USB disk or USB flash drive (Raspi2 which doesn't support USB boot mode)

3) /boot and / on SSD, USB disk or USB flash drive (USB boot mode on Raspi3 or Raspi4)

raspiBackup can be used to migrate easily from (1) to (2) or (3).


User Rating: 5 / 5

Star ActiveStar ActiveStar ActiveStar ActiveStar Active

I noticed there are a lot of raspiBackup users who use dd as backup method. There is a certain risk with dd which doesn't exist with tar of rasync. That's why I suggest better to use tar or rsync .


Star InactiveStar InactiveStar InactiveStar InactiveStar Inactive

Depending on the backup method used in raspiBackup you should choose the right filesystem on your backup partition. Following table lists the different filesystems per backup method.

impossible: not possible, restricted: limited, possible: possible, plus: suggested

2G limit: Backup files can not be larger than 2G


User Rating: 4 / 5

Star ActiveStar ActiveStar ActiveStar ActiveStar Inactive

A lot of time people ask how rsync backup type works and how hardlinks are used. Following article describes when files are created and deleted on the file system Dateien and when hardlinks are used.

User Rating: 1 / 5

Star ActiveStar InactiveStar InactiveStar InactiveStar Inactive

Whenever an upgrade to a new version of raspiBackup is executed it's tested whether the new version has new configuration options. If there are new configuration options used the local configuration file will be merged into a new file with the new configuration file while upgrading raspiBackup. Following page describes in detail what's going on during a configuration update.


If a version less than 0.6.5 is upgraded the configuration file merge has to be started manually after upgrading. Following command will start the configuration update:

sudo --updateConfig


When the two configuration files are merged raspiBackup writes various information messages. Following messages are written when upgrading raspiBackup from v0.6.4.3 to v0.6.5:

--- RBK0241I: Merging current configuration v0.1.3 with new configuration v0.1.4 into /usr/local/etc/raspiBackup.conf.merged.
--- RBK0248I: Added option DEFAULT_SMART_RECYCLE=0.
--- RBK0248I: Added option DEFAULT_SMART_RECYCLE_OPTIONS="7 4 12 1".
--- RBK0248I: Added option DEFAULT_TELEGRAM_TOKEN="".
--- RBK0248I: Added option DEFAULT_TELEGRAM_CHATID="".
--- RBK0248I: Added option DEFAULT_NOTIFY_START=0.
--- RBK0248I: Added option DEFAULT_COLORING="CM".
--- RBK0243I: Configuration merge finished successfullly but not activated.
!!! RBK0245W: Backup current configuration in /usr/local/etc/raspiBackup.conf.bak and activate updated configuration? y/N


Configuration file


will be created and receive the merged configuration files /usr/local/etc/raspiBackup.conf with the new configuration . RBK248 lists which changes are applied. Finally you have to answer the question whether you want to activate the merged configuration file. The existing configuration file will be saved in /usr/local/etc/raspiBackup.conf.bak. Do you answer with yes the configuration update is finished and you get following messages

--- RBK0240I: Saving current configuration /usr/local/etc/raspiBackup.conf to /usr/local/etc/raspiBackup.conf.bak.
--- RBK0244I: Merged configuration /usr/local/etc/raspiBackup.conf.merged copied to /usr/local/etc/raspiBackup.conf and activated.

That's the easiest way to activate the merged configuration file and you're done quickly.

But you also can answer no and the merged configuration file will not be activated. You get following message:

--- RBK0247I: Now review /usr/local/etc/raspiBackup.conf.merged and copy the configuration file to /usr/local/etc/raspiBackup.conf to finish the configuration update.

The new options in the merged configuration file can easily be identified:

# Smart recycle
# >>>>> NEW OPTION added in config version "0.1.4" <<<<<
# Smart recycle dryrun
# >>>>> NEW OPTION added in config version "0.1.4" <<<<<
# Smart recycle parameters (daily, weekly, monthly and yearly)
# >>>>> NEW OPTION added in config version "0.1.4" <<<<<

Now use your editor and check /usr/local/etc/raspiBackup.conf.merged and change the contents if needed. Finally copy the merged configuration file to /usr/local/etc/raspiBackup.conf to activate the new configuration file.

Finally execute as usual whenever you upgraded raspiBackup a backup/restore cycle and test whether everything still works as before.

raspiBackup supports usage of different configuration files. The automatic configuration update is only done for /usr/local/etc/raspiBackup.conf. All other configuration files have to be updated manually. Just copy the lines marked as new configuration lines into the other configuration files.

User Rating: 5 / 5

Star ActiveStar ActiveStar ActiveStar ActiveStar Active

Starting with release 0.6.5 of raspiBackup an itelligent rotation strategy of your backups is supported. It's also called GFS (grandfather-father-son backup). The implementation was inspired by Manuel Dewalds article Automating backups on a Raspberry Pi NAS

raspiBackup retains following backups per default if a daily backup is created:

1) Backup of the current day and the last 6 days

2) Backup of the current week and the last 3 weeks

3) Backup of the current month  and the last 11 months

4) Backup of the current year and the last two years

If weekly backups are created there will be no daily backups kept. Different retention values for daily, weekly, monthly and yearly can be defined with an option, e.g. if you want to retain weekly, monthly and yearly backups. Keep in mind the weekly backup day then will become the day of the weekly and monthly backup: If you configure Monday as the weekly backup day your monthly backup will be the first Monday of every month. Yout yearly backup will be the first Monday of the year. Iy you create a weekly backup every Sunday the monthly backup will be the first Sunday of the month and the yearly backup will be the first Sunday of the year.

User Rating: 4 / 5

Star ActiveStar ActiveStar ActiveStar ActiveStar Inactive

I finally picked myself up and created a video about raspiBackup and published it on Youtube. Topics in the video are

  1. Introduction of raspiBackup
  2. Visit of the most important websites for raspiBackup
  3. Visit of github which is used as a question- and issue handling tool for raspiBackup
  4. Live installation of raspiBackup with the menu driven installer

Slides used in the video can be downloaded here.