Hier ist ein Beispiel für ein Bash-Skript, das ein Backup eines Verzeichnisses mithilfe des Befehls „rsync“ erstellt:
#!/bin/bash
# Legt das Verzeichnis fest, das gesichert werden soll
SOURCE_DIR="/home/user/documents"
# Legt das Zielverzeichnis für das Backup fest
DEST_DIR="/mnt/backup/documents"
# Führt das Backup mit dem Befehl "rsync" durch
rsync -avz --delete $SOURCE_DIR $DEST_DIR
# Gibt eine Meldung aus, wenn das Backup abgeschlossen ist
echo "Backup von $SOURCE_DIR nach $DEST_DIR abgeschlossen."
Dieses Skript kopiert das Verzeichnis „documents“ im Benutzerverzeichnis in das Verzeichnis „documents“ auf dem externen Speichermedium „backup“.
Die Optionen „-avz“ sorgen dafür, dass das Backup inkrementell (d.h. nur neue oder geänderte Dateien werden kopiert), alle Unterverzeichnisse und Dateiattribute beinhaltet und komprimiert wird.
Die Option „–delete“ sorgt dafür, dass Dateien, die im Zielverzeichnis vorhanden, aber im Quellverzeichnis nicht mehr vorhanden sind, auch gelöscht werden.