Files
nextcloudRemoteBackupScripts/NextcloudBackupScript.sh
T

62 lines
1.6 KiB
Bash
Raw Normal View History

2026-04-02 10:40:55 +02:00
#!/bin/bash
source TalkLib.sh
# --- KONFIGURATION ---
# Pfad zum lokalen Verzeichnis (Wichtig: Schrägstrich am Ende!)
SOURCE_DIR="/mnt/data/"
# Remote-Zugangsdaten
REMOTE_USER="backupuser"
REMOTE_HOST="alsdorf.spznord.de"
2026-04-02 10:47:08 +02:00
REMOTE_PORT="1022" # Neuer Port für die Übertragung
2026-04-02 11:50:45 +02:00
REMOTE_DIR="/mnt/disk0/backups/nextcloud/data/"
2026-04-02 10:40:55 +02:00
2026-04-07 09:40:22 +02:00
#nextcloud-Zugangsdaten
NC_URL="https://cloud.ptv-euregio.de"
NC_USER="MittagsApp"
NC_APP_PASSWORD="inter2563*"
ROOM_TOKEN="b4gs3g9z"
NEWLINE=$'\n'
Mesg="*** Nextcloud Data Backup ***${NEWLINE}"
2026-04-02 10:40:55 +02:00
# --- LOGIK ---
2026-04-02 10:47:08 +02:00
echo "Starte Synchronisation von $SOURCE_DIR nach $REMOTE_HOST auf Port $REMOTE_PORT..."
2026-04-02 11:50:45 +02:00
# Pfad zum SSH-Key
2026-04-07 10:26:40 +02:00
SSH_KEY="/root/.ssh/id_ed25519"
logfilename="/tmp/nextcloud-databkp_$(date +"%Y%m%d").log"
2026-04-07 10:34:27 +02:00
logNCFilename="nextcloud-data-backup_$(date +"%Y%m%d%H%M")_log.txt"
2026-04-02 10:40:55 +02:00
2026-04-07 12:13:48 +02:00
#copy data
2026-04-02 11:50:45 +02:00
# rsync mit Ausschlussfiltern:
# --exclude 'DATEINAME': Verhindert, dass diese Datei kopiert wird
rsync -avzh \
-e "ssh -p $REMOTE_PORT -i $SSH_KEY" \
--exclude 'nextcloud.log' \
2026-04-02 12:25:30 +02:00
--exclude 'nextcloud.log.1' \
--exclude 'audit.log' \
--exclude 'audit.log.1' \
--exclude 'updater.log' \
--exclude 'updater.log.1' \
2026-04-02 11:50:45 +02:00
--exclude 'flow.log' \
2026-04-02 12:25:30 +02:00
--exclude 'flow.log.1' \
--progress \
2026-04-07 10:26:40 +02:00
"$SOURCE_DIR" "$REMOTE_USER@$REMOTE_HOST:$REMOTE_DIR" > $logfilename
2026-04-02 10:40:55 +02:00
# Status prüfen
if [ $? -eq 0 ]; then
2026-04-07 09:40:22 +02:00
Mesg="${Mesg}Nextcloud Data rsync Ok."
2026-04-02 10:40:55 +02:00
else
2026-04-07 09:40:22 +02:00
Mesg="${Mesg}Nextcloud Data rsync failed."
2026-04-02 10:40:55 +02:00
fi
2026-04-07 12:13:48 +02:00
#todo Database backup
2026-04-07 12:33:04 +02:00
#App backup
2026-04-07 12:13:48 +02:00
2026-04-07 10:26:40 +02:00
MesgID=$(sendMessage2Room $NC_URL $NC_USER $NC_APP_PASSWORD $ROOM_TOKEN "$Mesg")
2026-04-07 10:34:27 +02:00
sendFile2Room $NC_URL $NC_USER $NC_APP_PASSWORD $ROOM_TOKEN $logfilename $logNCFilename
2026-04-07 10:26:40 +02:00
rm $logfilename