Raspberry-Pi - Automatische Cache-Speicherfreigabe und DB-Backup

Hallo zusammen und willkommen zu einer neuen kurzen Anleitung meinerseits. Letzte mal hab' ich euch den mächtigen Dienst crontab gezeigt und heute werde ich euch zeigen, wie ihr mithilfe dieses Dienstes auf eurem Raspberry-Pi automatische Datenbank-Backups erstellen und automatisch euren Cache-Speicher freigeben könnt! Also auf geht's!

Was braucht ihr?

  • Ihr solltet grundlegend verstanden haben, wie crontab funktioniert, dazu hier nochmal mein Tutorial
  • Ihr solltet euch grundsätzlich in der Shell bewegen können und wissen, wie man kleine Shell-Skripte erstellt

Wie funktioniert es?

Fangen wir erstmal ganz simpel mit der Freigabe des Cache-Speichers an.

Freigabe des Cache-Speichers

Um den Cache-Speicher automatisch freizugeben, bastelt man sich zunächst ein hübsches Skript. Zum Beispiel mit dem Namen freemem.sh. Es empfiehlt sich einen Ordner in eurem Home-Verzeichnis für solche Skripte anzulegen bspw. /home/pi/scripts/. Das Skript sollte folgenden Code beinhalten:

#!/bin/bash sync echo 3 > /proc/sys/vm/drop_caches

Jetzt muss man das Skript noch mit folgendem Befehl ausführbar machen:

chmod +x freemem.sh

Da der zweite Befehl des Skripts nur als root ausgeführt werden kann, gibt es nun zwei Möglichkeiten den Cronjob anzulegen.

1. Ihr wechselt zum root benutzer

Dazu gebt ihr folgenden Befehl ein (Da es in Raspbian standardmäßig kein root-Passwort gibt):

sudo su

nun öffnet ihr crontab:

crontab -e

Jetzt könnt ihr euren autoamtischen Task wie folgt festlegen (dabei ist das Zeitintervall natürlich frei wählbar):

# führt die Speicherfreigabe alle 8 Stunden aus * */8 * * * /home/pi/scripts/freemem.sh

And dieser Stelle auch noch eine kleine Ergänzung zu crontab. Mit

*/

gebt ihr periodische Werte an.

2. Über Sudo direkt in Crontab

Wenn ihr nicht zum root Benutzer wechseln wollt könnt ihr auch mit

sudo crontab -e

direkt den crontab des root Benutzers öffnen und dann wie in 1. verfahren.

Als nächstes folgt ein automatisches Backup eurer Anchor CMS Datenbank.

Anchor CMS DB sichern

Hier erfinde ich das Rad nicht neu und wende einfach das Tutorial von hier an: http://oyox.de/524-automatisiertes-mysql-raspberry-pi/.

Auch hier basteln wir uns zunächst ein kleines Skript, bei mir heißt es dbbackup.sh: Zunächst das Skript anlegen:

sudo nano dbbackup.sh

Danach mit folgendem Inhalt füllen, die Kommentare beschreiben die einzelnen Befehle:

#!/bin/bash # gibt den Pfad und den Dateinamen an, unter dem das Backup gespeichert wird OUTPUTFILE=/home/pi/anchorbackup/anchordbbackup-$(date +%Y%m%d).bz2 # euer Datenbankname, bei mir 'anchor' DATABASENAME="anchor"

# eigentliche mysqldump Anweisung - .my.cnf enthält eure Zugangsdaten, diese legen wir gleich noch an mysqldump --defaults-file=/pfad/zu/.my.cnf $DATABASENAME | bzip 2 > $OUTPUTFILE

# Wer möchte kann automatisch die Datei vom Vortag löschen - dazu folgende Zeilen auskommentieren

#DELETE_FILE=/home/pi/anchorbackup/anchordbbackup-$(date -d yesterday +%Y%m%d).bz2

#rm $DELETE_FILE

Jetzt brauchen wir noch die .my.cnf in der die Zugangsdaten unseres MYSQL-Datenbanksystems liegen. Dazu legt ihr sie an einem belieben Ort an, vergesst aber nich den genauen Pfad in eurem Skript anzugeben!

sudo nano .my.cnf

In diese Datei schreibt ihr die Daten wie folgt rein:

[Client] host=localhost user=xxx password=xxx

Wobei die xxx natürlich durch eure Daten ersetzt werden müssen.

Nun habt ihr alles, was ihr für die Erstellung eures Cronjob benötigt. Wir machen die folgenden Schritte genau wie im obigen Beispiel. Wir rufen zunächst crontab als root oder via sudo auf:

sudo crontab -e

und fügen folgenden neuen Cronjob hinzu (wie vorher könnt ihr das Zeitintervall natürlich frei wählen):

# erstellt täglich ein Datenbankbackup @daily /home/pi/scripts/dbbackup.sh

Wichtig: Gebt immer den Pfad an, wo euer Skript auch wirklich liegt!

So nun habt ihr ein tägliches Datenbankbackup und leert regelmäßig euren Cache-Speicher. Solltet ihr Fragen oder Anregungen zu diesem Tutorial haben, schreibt mir doch einfach eine E-Mail. Meine Adresse findet ihr im Bereich Kontakt.

Bis dahin!

Stefan


wallpaper-1019588
Der Frühling kommt bunt!
wallpaper-1019588
Solarpaket 1 diese Woche im Bundestag: Wichtige Änderungen für Balkonkraftwerke
wallpaper-1019588
Omega ≠ Idol: Boys-Love-Werk kommt bei Panini heraus
wallpaper-1019588
Spice and Wolf: Deutscher Simuldub bei Crunchyroll gestartet