---
url: 'https://sithis.xyz/blog/wie-ein-skript-meinen-server-killte-und-warum-du-backups-brauchst'
title: 'Level 4: Wie ein Skript meinen Server killte (Und warum du Backups brauchst)'
author:
  name: 'Joachim Namyslo'
  url: 'https://sithis.xyz/team/joachim'
  sameAs:
    - 'https://www.youtube.com/@jo_de'
    - 'https://github.com/nodedropweb'
    - 'https://www.drupal.org/u/Joachim-Namyslo'
date: '2026-08-29T21:13:31+00:00'
updated: '2026-08-30T16:29:49+00:00'
type: article
summary: 'Ein Skript, ein Tippfehler, ein toter Server: Warum automatische Backups per Cronjob und Drush Pflicht sind – inklusive Restore-Befehl für den Ernstfall.'
tags:
  - backups
  - drush
  - server-administration
image: 'https://sithis.xyz/sites/default/files/2026-08/Drupal%20Datenbank%20Backup.jpg'
published: true
og:
  site_name: 'Drupal TV'
  updated_time: '2026-08-30T18:29:49+02:00'
---
# Level 4: Wie ein Skript meinen Server killte (Und warum du Backups brauchst)

 

## Key Facts

- Ein falsches Installationsskript kann deinen kompletten Server inklusive Datenbank löschen – ohne Backup ist alles verloren
- Verlass dich nie auf dein Gedächtnis: Ein Bash-Skript plus Cronjob sichert deine Daten automatisch, jede Nacht
- Nutze Drush, um Drupal-Datenbanken schneller und sicherer zu sichern als mit rohen MySQL-Befehlen
- Ein Backup, das du nicht wiederherstellen kannst, ist nur Datenmüll – wir zeigen dir den Restore-Befehl für den Ernstfall

## Methode A: Das Bash-Skript

Wenn du kein Drupal-spezifisches Tool nutzen willst, ist ein Bash-Skript der Standard. Es exportiert deine Datenbank, komprimiert sie und legt sie sicher ab. Hier ist das Skript, das ich mir damals gewünscht hätte:

```bash
#!/bin/bash

# --- KONFIGURATION (hier deine Daten eintragen) ---
DB_USER="dein_benutzername"
DB_PASSWORD="dein_passwort"
DB_NAME="name_der_datenbank"
BACKUP_DIR="/var/backups/mysql"
TIMESTAMP=$(date +"%Y%m%d%H%M%S")

# --- START DER SICHERUNG ---

# 1. Backup-Verzeichnis anlegen, falls es fehlt
mkdir -p $BACKUP_DIR

# 2. Datenbank exportieren
mysqldump -u$DB_USER -p$DB_PASSWORD $DB_NAME > $BACKUP_DIR/$DB_NAME-$TIMESTAMP.sql

# 3. Datei komprimieren
gzip $BACKUP_DIR/$DB_NAME-$TIMESTAMP.sql

# 4. Optional: alte Backups aufräumen (Vorsicht bei der Aktivierung!)
# find $BACKUP_DIR -type f -name "*.gz" -mtime +7 -exec rm {} \;

echo "Backup erfolgreich: $BACKUP_DIR/$DB_NAME-$TIMESTAMP.sql.gz"

```

  
### Der Automatismus: Cronjob

Ein Skript bringt nichts, wenn du vergisst, es auszuführen. Öffne deine Crontab mit crontab -e und füge diese Zeile ein:

```bash
0 3 * * * /pfad/zu/deinem/backup_script.sh

```

Das bedeutet: jeden Tag um 03:00 Uhr morgens, während du schläfst, werden deine Daten gesichert.

## Methode B: Der Drush-Weg

Als Drupal-Nutzer hast du ein Werkzeug, das anderen fehlt: Drush. Es kennt deine Datenbank-Zugangsdaten bereits aus der settings.php – du musst keine Passwörter in Skripte schreiben. Der Befehl für ein sofortiges, gezipptes Backup:

```bash
drush sql:dump --gzip --result-file=auto --extra-dump=--no-tablespaces
```

## Der Restore: So holst du deine Seite zurück

Stell dir vor, wie ich damals, hast du versehentlich den Server gelöscht. Aber diesmal hast du eine Datei namens db-2025-05-18.sql.gz. Dieser Befehl stellt sie wieder her:

```bash
zcat db-2025-05-18.sql.gz | mysql -u dein_user -p name_der_datenbank
```

zcat entpackt dein Backup, die Pipe (|) schiebt die Daten direkt in den mysql-Befehl, und deine Datenbank ist wiederhergestellt.

**Fazit:** Lerne aus meinem Fehler von 2013. Technik kann versagen, Skripte können fehlerhaft sein, du kannst dich vertippen. Aber mit einem automatischen Backup ist das kein Totalverlust, sondern ein kurzer Rücksetzer.



Weiterführende Links

[MySQL Documentation – mysqldump](https://dev.mysql.com/doc/refman/8.0/en/mysqldump.html)

[Drush Commands Reference – sql:dump](https://www.drush.org/latest/commands/sql_dump/)

[Backing up a site (Drupal.org)](https://www.drupal.org/docs/user_guide/en/security-backup.html)

[Crontab.guru – Cronjobs einfach verstehen](https://crontab.guru/)