Es besteht die Möglichkeit eigene Codeerweiterungen vor und nach dem Backupprozess des Scripts einzubinden. Dieses ist sinnvoll, wenn eigentlich Änderungen im Backupscript notwendig sind aber dann natürlich nach jedem Update von raspiBackup auf eine neue Version wieder neu eingepflegt werden müssen. Die Extensions sind unabhängig vom Scriptcode und deshalb in diesem Falle zu empfehlen.

Drei Erweiterungen stehen zur Verfügung und dienen als Beispiele für eigene Erweiterungen. Durch die ersten wird  die CPU Temperatur sowie die Hauptspeicherbelegung vor und nach dem Backup ausgegeben. Die dritte Erweiterung wird nur am Ende des Backups aufgerufen und kann bei Erfolg bzw Misserfolg des Backups unterschiedliche Aktionen auslösen.

Wer nützliche Erweiterungen für die Community erstellt hat kann sie gerne hier in einem Kommentar beschreiben  und die Downloadlocation nennen. Sollten Fähigkeiten der Extensions fehlen einfach einen Kommentar dazu hier hinterlassen und ich prüfe in wieweit die fehlende Funktion eingepflegt werden kann.

 

Standardextensions 

  1. Durch den Aufruf von der folgenden Zeile werden die zwei Erweiterungen in /usr/local/bin auf der Raspberry installiert:
    wget http://www.linux-tips-and-tricks.de/raspiBackupSampleExtensionsInstall.sh -O raspiBackupSampleExtensionsInstall.sh -q && bash raspiBackupSampleExtensionsInstall.sh 
  2. Wer die Erweiterungen manuell installieren will kann das tar mit diesem Link mit einem Browser downloaden oder auch direkt wie folgt auf die Raspberry downloaden und nach /usr/local/bin auspacken.
    wget http://www.linux-tips-and-tricks.de/raspiBackupSampleExtensions.tgz -O raspiBackupSampleExtensions.tgz
    tar -xzf raspiBackupSampleExtensions.tgz -C /usr/local/bin

Dadurch werden die folgenden Scripte in /usr/local/sbin kopiert:

1) raspiBackup_mem_pre.sh und raspiBackup_mem_post.sh

2) raspiBackup_temp_pre.sh und raspiBackup_temp_post.sh

3) raspiBackup_execute_post.sh

 

Um die Erweiterungen zu aktivieren ist noch folgender zusätzlicher Aufrufparameter bei raspiBackup notwendig.

-N "temp mem execute"

 bzw in die Konfigurationsdatei ist folgende Zeile aufzunehmen

DEFAULT_EXTENSIONS="temp mem execute"

Details zu den Aufrufparametern bzw den Konfigurationsparametern siehe hier

 

eMailExtension

Ab der Version 0.6.1.1 gibt es eine emailExtension. D.h. man kann die emailVersendung selbst programmieren. Das ist dann besonders hilfreich, wenn die vom Script unterstützen eMailProgramme den eigenen eMailClient nicht unterstützen. Ausserdem kann das Aussehen der eMail beliebig geändert werden. Eine Beispielextension die mailx benutzt befindet sich in den Beispielextensions.

Die Mailextension wird dadurch aktiviert, dass für den Parameter -s mailext definiert wird. Dann wird die Mailextension mit dem Namen raspiBackup_mail.sh aufgerufen, die dann den Mailversand vornehmen muss. Die folgenden Parameter werden dem Mailextension Script übergeben:

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

Wenn jemand eine eMailExtension schreibt wäre es gut wenn diese Extension in einem Kommentar am Ende dieser Seite erläutert wird so dass der Code vielleicht mit anderen ausgetauscht werden kann.

 

Hinweise

1) Es sind nicht beide Scripts (pre und post) notwendig. Es reicht wenn eines existiert.

2) Zum Testen der Erweiterungen ist der Parameter -F sehr hilfreich. Dadurch wird der eigentliche Backupprozess übersprungen und somit der Scriptdurchlauf sehr schnell.

3) Der Rückgabewert des Backupprozesses wird an die Extension als Parameter weitergereicht. 0 <=> OK, <>0 Fehler

4) Da die Erweiterungen im Scope von raspiBackup aufgerufen werden, besteht Zugriff auf interne Scriptvariablen. Davon ist abzuraten, da sich die Internas jederzeit ändern können.

5) Wenn jemand seinen Extension code sharen möchte geht das einfach über einen Pullrequest auf github. Dort ist aller Extension Quellcode verfügbar um ihn zu erweitern und neuen zuzufügen.

Kommentar schreiben

Spam Kommentare sind sinnlos !
Vor der Publizierung wird jeder Beitrag auf Spam geprüft. Leider dauert es deswegen bis ein Kommentar sichtbar wird. Dafür erhält aber kein Subscriber Spam eMails.
Die eMail ist optional und nicht öffentlich sichtbar. Sie ist notwendig um eMail Benachrichtigungen zu Antworten auf Kommentare zu erhalten und wird u.U. genutzt um offline zu kommunizieren.

Spam comments are useless !
Any comment will be reviewed first and checked for spam. Unfortunately this delays the publishing of comments but will protect subscribers from spam.
eMail is optional and hidden and is required get update notifications for any comments and may be used to contact you offline