nextcloud-mariadb-redis-phpfpm/backup.sh

24 lines
1.3 KiB
Bash

#!/bin/bash
#Löscht alle "*.tar.gz" und "*.sql" Dateien die älter als 14 Tage sind:
find -P "/mnt/storage-bx20/data-nextcloud/bmen/files/Server/Hetzner-Cloud-CX21/Nextcloud/" -maxdepth 1 -type f \( -name '*.tar.gz' \) -ctime +14 -exec rm {} \;
find -P "/mnt/storage-bx20/data-nextcloud/bmen/files/Server/Hetzner-Cloud-CX21/Nextcloud/" -maxdepth 1 -type f \( -name '*.sql' \) -ctime +14 -exec rm {} \;
#Zur Sicherheit noch einen SQL-Dump der Datenbank
. ./db.env
docker exec -i nextcloud-db mysqldump -u$MYSQL_USER -p$MYSQL_PASSWORD $MYSQL_DATABASE > /mnt/storage-bx20/data-nextcloud/bmen/files/Server/Hetzner-Cloud-CX21/Nextcloud/nextcloud-`date '+%Y%m%d%H%M'`.sql
#Die Docker Container stoppen und die Datenverzeichnisse komprimieren und wegkopieren
cd /root/deployments/nextcloud-mariadb-redis-phpfpm/
docker-compose down
cd /opt/appdata/
tar cvf /mnt/storage-bx20/data-nextcloud/bmen/files/Server/Hetzner-Cloud-CX21/Nextcloud/nextcloud-`date '+%Y%m%d%H%M'`.tar.gz nextcloud/
#Docker Container aktualisieren und starten
cd /root/deployments/nextcloud-mariadb-redis-phpfpm/
docker-compose pull
docker-compose up -d
#Nextcloud Datenbank über die Dateiänderung Bescheid geben
docker exec --user www-data nextcloud php occ files:scan -p bmen/files/Server/Hetzner-Cloud-CX21/Nextcloud/