46 lines
1.3 KiB
Bash
Executable File
46 lines
1.3 KiB
Bash
Executable File
#!/bin/bash
|
|
|
|
# Funktion für Log-Ausgaben mit Zeitstempel
|
|
log() {
|
|
echo "[$(date '+%Y-%m-%d %H:%M:%S')] $1"
|
|
}
|
|
|
|
# Quelle und Ziel definieren
|
|
SOURCE="/Users/rob/Recordings/Work/"
|
|
TARGET="/Volumes/rob/recordings/Progress/Work/"
|
|
MOUNT_POINT="/Volumes/rob"
|
|
SERVER_ADDRESS="smb://bfds/rob"
|
|
|
|
# Prüfen, ob das Netzlaufwerk gemountet ist
|
|
if mount | grep -q "$MOUNT_POINT"; then
|
|
log "Netzlaufwerk ist gemountet. Backup startet..."
|
|
else
|
|
log "Netzlaufwerk nicht gefunden. Versuche zu mounten..."
|
|
osascript -e "mount volume \"$SERVER_ADDRESS\""
|
|
|
|
# Nach dem Mounten erneut prüfen
|
|
if mount | grep -q "$MOUNT_POINT"; then
|
|
log "Netzlaufwerk erfolgreich gemountet."
|
|
else
|
|
log "Fehler: Netzlaufwerk konnte nicht gemountet werden."
|
|
osascript -e 'display notification "Backup fehlgeschlagen! Netzlaufwerk nicht erreichbar." with title "Backup Script"'
|
|
exit 1
|
|
fi
|
|
fi
|
|
|
|
# Sicherung starten
|
|
rsync -v -r -l -t -D "$SOURCE" "$TARGET"
|
|
|
|
# -r → Rekursiv kopieren (alle Unterordner & Dateien)
|
|
# -l → Symbolische Links kopieren
|
|
# -t → Zeitstempel beibehalten
|
|
# -D → Geräte- und Sonderdateien kopiere
|
|
|
|
# Erfolgsmeldung ausgeben
|
|
log "Backup abgeschlossen"
|
|
|
|
# Optional: Notification für macOS anzeigen
|
|
osascript -e 'display notification "Backup abgeschlossen!" with title "Backup Script"'
|
|
|
|
|