Star InactiveStar InactiveStar InactiveStar InactiveStar 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 mith the menu driven installer

Slides used in the video can be downloaded here.

Star InactiveStar InactiveStar InactiveStar InactiveStar Inactive

Today I analyzed in how many countries Raspberry users use raspiBackup. It's in about 44 countries in the world:

Star InactiveStar InactiveStar InactiveStar InactiveStar Inactive

In general it's sufficient to backup your raspberryonce a week and keep a given number of backups. If you want to keep a longer history of your backups - i.e. use an intelligent backup strategy - use raspiBackup with a wrapperscript. That way you have the last 7 daily backups of the week, the last 4 weekly backups of the month, the last 12 monthly backups of the year for the last years.

Star InactiveStar InactiveStar InactiveStar InactiveStar Inactive

pishrink is a useful tool to reduce the size of dd images to it's minimum. When the image is booted the image expands the root partition to it's possible maximum size. You can shrink an image created by raspiBackup by using the helper script raspiBackupWrapper.sh. Following paragraph describes in detail how to configure raspiBackup to shrink dd backup images with pishrink.

 

Star InactiveStar InactiveStar InactiveStar InactiveStar Inactive

In general using the installer is the fastest method to install raspiBackup. The installer also can be used to install raspiBackup with it's default configuration via the commandline. If you want to install raspiBackup manually execute the following steps:

Star InactiveStar InactiveStar InactiveStar InactiveStar Inactive

Following pages describe different usage scenarios and configurations. They should help to find the right usage configuration out of the various configuration options of raspiBackup. Later on these usage scenarios can be customized further. An overview of all option is available here. The different ways to restore a backup are described here.

All configurations which don't use a dd backup save an external rootfilesystem together with the SD boot partition. If the USB bootmode is used and no SD card is used any more the whole rootpartition is also saved.

 

Usage scenarios described:

1a. A Windows user wants to backup his Raspberry and restore it with windisk32imager on Windows.

1b. A Windows user has a 32GB SD card but uses only 12GB and 12GB should be saved only.

1c. A Windows user wants to use pishrink to create a minimal backup image.

2. Raspberry should be saved very fast. Backuppartition is a nfs mounted EXT4 partition which is provided by a Synology.

3. Raspberry should be saved on a Samba mounted filesystem, which is provided by a Windows box.

4. A snapshot should be saved because there are some major changes planned and it should be possible to revert quickly.

5. A NOOBS SD card should be saved.

6. Raspberry should be saved on a local USB stick or a local USB disk.

 

Star InactiveStar InactiveStar InactiveStar InactiveStar Inactive

 

raspiBackup users who made a donation commented as follows:

 

Nicolas: Many thanks for raspiBackup! I use Check_MK as a monitoring solution on Raspberry and need frequent full backups of my SD-card. Your script helped me to automate this backup.

 

Bernhard: Nice and competent service - thank you very much.

Florian: Thank you for this great tool! It's very helpful and makes it easy to frequently backup your raspberry pi. Have a few drinks on me ;)

Hans-Jürgen: A great tool. Thank you very much!

Gerhard: Hello Framp thank you very much for your great tool

Anonymous: Thanks a lot for your help and patience - I really appreciate your work.

Melanie: Thank you for raspibackup, really like it.

Michael: Thank you very much for raspiBackup! It's essential for me!

Jochen: Thank you very much for your great raspiBackup!

Andrej: Thank you very much for the great tool.

Frank: Many thanks for raspiBackup !!!

Steffen: Thank you very much for your effort, time and patience with raspiBackup. A great project.

Johannes: A small thank-you

Christian: Just want to thank you for raspiBackup, you have just saved my bacon as my SD card died.

Alexander: Thank you very much for your great work!

Daniel: Many thanks for your software ( raspiBackup) and your time.

Lars: Thank you for your help and programming of raspiBackup.  Chears!

Kurt: Thank you for all your dedicated work on raspiBackup and excellent support. Have a drink on me!

Peter: Hi Framp, many thanks for the huge amount of time time you spent on raspiBackup. It's a super tool and right now saved me a lot of hours to recover my Raspi which died right now. Please continue to work on raspiBackup. Greetings from Suisse.

Frank: raspiBackup super tool

Fabian: Rock on!

Martin: Just a small recognition for your effort and enormous engagement to create a tool like raspiBackup and give such a service. Hats off! My best wishes to you for the continued success and hope you'll continue to work on this tool for a long time. Geetings hmw.

 

Star InactiveStar InactiveStar InactiveStar InactiveStar Inactive

raspiBackup is developed primarily on a Linux desktop. But finally raspiBackup is tested on a real Raspberry. There exist various raspibian images on disk which are restrored with raspiBackup on a SD card and/or USB stick and then the new or changed functionality of raspiBackup ist tested manually.

At some point in time a new version of raspiBackup has to be published. Initially I tested a lot of different variants by hand which takes a long time and reduces the number of my SD cards.  Therefore I set up a Raspberry simulation environment on Linux. Now every new raspiBackup version is regression tested in the simulation environment. That's much faster and I don't have to buy new SD cards all the time any more.

On the following picture you can see a 3B Raspberry I use for tests together with various SD cards of different size and USB sticks.

 

Star InactiveStar InactiveStar InactiveStar InactiveStar Inactive

There exist three types of messages:

1) Informational  - Messagenumber ends with I

2) Warning - Messagenumber ends with W

3) Error - Messagenumber ends with E

Most errormessages of raspiBackup give detailed information about the root cause. Sometimes it's required to get additional information in order to get rid of them. raspiBackup has abou 200 errormessages and it's soo boring to explain all of them here. If you miss a message just add list the message text in a comment at the end of the page and the message with mor detailed explanations will be addded on this page. That way the most common raspiBackup messages will show up on this page.

Star InactiveStar InactiveStar InactiveStar InactiveStar Inactive

Every new version of raspiBackup is regression tested before it's published. There are a lot of options and hard- and softwareenvironments possible which cannot be regression tested - unfortunately. Following page describes how the regressiontest is executed and which tests are executed.

Star InactiveStar InactiveStar InactiveStar InactiveStar Inactive

raspiBackup has some helper scrips which are available on github for download.

1) raspiBackupWrapper.sh : Helps to do additional stuff before and after invocation of raspiBackup. The backuppartition is mounted already before starting raspiBackup and unmounted if it wasn't mounted when starting. Some basic bash scripting knowlege is required to customize the script for individual needs.

2) raspiBackupNfsWrapper.sh: Check if a NFS server is online and start raspiBackup. Don't start raspiBackup if the server is offline. This script can be used out of the box. Some constants regarding the nfs server have to be customized.

3) raspiBackupRestore2Image.sh: This script allows to convert a tar or rsync backup which was created in normal backup mode into a dd image. pishrink is used to make sure the image is as small as possible. kmbach suggested to create this script. No customization of the script required.

4) raspiImageMail.sh: THis script was created by raspiBackup user kmbach. He wanted to get an eMail at the end of raspiBackupRestore2Image.sh. eMail configuration is extracted from raspiBackup configuration file.

Star InactiveStar InactiveStar InactiveStar InactiveStar Inactive

raspiBackup creates a backup which contains all required information to restore a backup manually. User Micha wanted to restore a backup manually and kindly documented the steps in detail in a comment in German. I transleted his comments into English:

# manuel Restore:
--------------------
# Manuel creation of partitions
sfdisk /dev/sdb < /backup/pi/pi-rsync-backup-20170812-134552/pi-backup.sfdisk

# MBR restore:
dd of=/dev/sdb if=/backup/pi/pi-rsync-backup-20170812-134552/pi-backup.mbr count=1
sync

# Inform the operating system about partition table changes:
partprobe /dev/sdb

# format and mount Root-Partition
mkfs -t vfat /dev/sdb1
mkfs -t vfat /dev/sdb6
mkfs.ext4 /dev/sdb5
mkfs.ext4 /dev/sdb7

mkdir -p /mnt/sdb1
mkdir -p /mnt/sdb5
mkdir -p /mnt/sdb6
mkdir -p /mnt/sdb7

mount /dev/sdb1 /mnt/sdb1
mount /dev/sdb5 /mnt/sdb5
mount /dev/sdb6 /mnt/sdb6
mount /dev/sdb7 /mnt/sdb7

# udevadm settle waits for udevd to process the device creation events for all hardware devices, thus ensuring that any device nodes have been created successfully before proceeding:
udevadm settle

# rsync-Restore:
rsync --numeric-ids -aAHXv --exclude=/pi-backup.* /backup/pi/pi-rsync-backup-20170812-134552/mmcblk0p1/ /mnt/sdb1
rsync --numeric-ids -aAHXv --exclude=/pi-backup.* /backup/pi/pi-rsync-backup-20170812-134552/mmcblk0p5/ /mnt/sdb5
rsync --numeric-ids -aAHXv --exclude=/pi-backup.* /backup/pi/pi-rsync-backup-20170812-134552/mmcblk0p6/ /mnt/sdb6
rsync --numeric-ids -aAHXv --exclude=/pi-backup.* /backup/pi/pi-rsync-backup-20170812-134552/mmcblk0p7/ /mnt/sdb7

# Fake-HW-Clock patch:
# logItem "Updating hw clock"
echo $(date -u +"%Y-%m-%d %T") > /mnt/sdb7/etc/fake-hwclock.data

# logItem "Syncing filesystems"
sync

# umount all recovery-folders:
umount /mnt/sdb*

# eject SD-card
eject /dev/sdb

# cleanup mounts
rmdir /mnt/sdb*

# Plugin SD-card in Pi and test
# Enjoy :-)

 

Star InactiveStar InactiveStar InactiveStar InactiveStar Inactive

Purpose of this page is to explain step by step how to install and configure raspiBackup in 5 minutes to create a backup of your Raspberry very quick. This page describes for different platforms (Linux, Mac or Windows) how to restore the backup. After testing the backup and restore the next step should be to check which services have to be stopped before the backup starts. Finally cron should be configured to start raspiBackup on a regular base. Later on when you have some spare time read this page carefully to check which additional features of raspiBackup are useful for you and update the raspiBackup configuration accordingly. In any case it's strongly recommended to read the FAQ.