Star InactiveStar InactiveStar InactiveStar InactiveStar Inactive

It's possible to add custom code which is executed before and after the backup process via two script extensions. They are useful if modification of the backup script is required to extent the script capabilities and will be lost and thus have to be merged again and again every time when raspiBackup will be updated.

Three sample plugins are available and can be used as templates for new plugins. The first three report the CPU temperature, memory utilization and backup partition usage pre and post a backup run. The last one is called at the end of the backup and can be used to execute different actions depending on the success or failure of raspiBackup.

If you create your own plugin please share it with the community and announce it's availability in a comment. If there is any function missing for the plugin please write a comment and I'll check whether it's possible to provide the missing function.



  1. The easiest way to install and activate the sample plugins is by using the installer and select menus Install components->Install and enable sample extensions or install them immediately in the command line (Use option -e)
    or -e
  2. Following command installs the three plugins in /usr/local/bin on Raspberry Pi:
    wget -O -q && bash 
  3. If you want to install the plugins manually download them with your browser or execute following command on your raspberry Pi to download the tar file and extract the contents to  /usr/local/bin.
    wget -O raspiBackupSampleExtensions.tgz
    tar -xzf raspiBackupSampleExtensions.tgz -C /usr/local/bin

Following scripts will be copied into /usr/local/sbin:

1) and - Reports the memory usage of the Raspberry before and after the backup run

2) and - Reports the CPU temperature of the Raspberry before and after the backup run

3) and - Reports the backup disk usage of the Raspberry before and after the backup run

4) - Execute  some code when the backup finished. Actually no longer needed because options DEFAULT_BEFORE_STOPSERVICES and DEFAULT_AFTER_STARTSERVICES can be used for this.


To activate the plugins add following parameter to the raspiBackup call

-N "temp mem disk execute"

or add the following line to the config file

DEFAULT_EXTENSIONS="temp mem disk execute"

For details of the parameters and config file see this page.



Every plugin is passed the actual status of raspiBackup. Every statuscode not equal 0 received in a post plugin has to be handled as a backup failure.



Starting with version there exists an emailPlugin which allows to write custom code which will send the eMail. That's very useful if the supported eMail clients of the script do not support the used eMailClient. In addition the format of the eMail can be customized. A sample emailPlugin which uses mailx is included in the sample plugin package.

The eMailExtension is used if mailext is used as parameter for -s. A script called will be called and has to handle the email creation and sending. Following parameters will be passed to the mailPlugin script:

email="$1"        # target email address
subject="$2"      # email subject
content="$3"      # email contents
parms="$4"        # addtl email parms passed with -E
append="$5"       # file to append

If you create an eMailPlugin for a special eMailClient please write a comment at the bottom of this page. There may be other interested in the plugin also.



1) Warning: Extensions run as user root and coding errors can harm or even destroy the running Operating system !

2) It's not required to have both pre and post scripts implemented.

3) When testing the plugins the parameter -F is very useful. This flag disables the backup process and speeds up script execution.

4) The return code of the backup process is passed as parameter to the plugin script. 0 <=> OK, <>0 <=> failure

5) If you want to share your plugin code just create a pull request on github where all the plugin source code is available for sharing and update.

Add comment

*** Note ***

Comments are welcome. But in order to reject spam posts please consider following rules:
  1. All comments are reviewed manually and it usually takes one day until a comment will be published.
  2. Comments with string http are rejected with message You have no rights to use this tag.
  3. You have to wait at least one hour until you can post another comment.