Zur Haupt­na­vi­ga­ti­on sprin­gen [Alt]+[0] Zum Sei­ten­in­halt sprin­gen [Alt]+[1]

Back­up

Bei die­sem Back­up sol­len Da­tei­en, Sys­tem­kon­fi­gu­ra­tio­nen sowie Apps (Er­wei­te­run­gen Ihrer Next­cloud-In­stal­la­ti­on) au­to­ma­tisch auf eine zwei­te Fest­plat­te ge­schrie­ben wer­den. Hier­bei han­delt es sich um eine ein­fa­che Kopie der Daten. Es er­folgt weder eine Ver­sio­nie­rung noch ein Da­tei­ver­gleich (zwi­schen Quel­le und Ziel) auf Grund­la­ge einer Prüf­sum­me. Das Back­up wird je­doch au­to­ma­tisch aus­ge­führt.

Zu­erst muss die Fest­plat­te für das Back­up for­ma­tiert und ein­ge­bun­den wer­den. Im Bei­spiel wird als Mount­point das Ver­zeich­nis: /var/hdd2/Back­up ver­wen­det. Eine An­lei­tung zum For­ma­tie­ren und Moun­ten der Back­up­fest­plat­te fin­den Sie im Be­reich: Spei­cher­me­di­en vor­be­rei­ten.

Auf der Back­up­fest­plat­te wer­den drei Ord­ner be­nö­tigt. www für das Web­ver­zeich­nis, db für die Da­ten­bank und data für die Da­tei­en der Be­nut­zer:innen:

mkdir /var/hdd2/Backup/www

mkdir /var/hdd2/Backup/db

mkdir /var/hdd2/Backup/data

Damit über die Kon­so­le die Next­cloud in den War­tungs­zu­stand ver­setzt wer­den kann, müs­sen die OCC Be­feh­le ak­ti­viert wer­den. Hier­zu ar­bei­ten Sie die php.​ini Datei für die Kom­man­do­zei­le:

nano /etc/php/8.1/cli/php.ini

Fügen Sie ganz unten fol­gen­de Zeile ein:

apc.enable_cli = 1

Nun sind alle Vor­be­rei­tun­gen ge­trof­fen, damit das Back­up-Skript er­stellt wer­den kann. Er­stel­len Sie eine neue Datei, in der das Back­up-Skript ge­spei­chert wird:

nano /var/backupskript.sh

Fügen Sie dort fol­gen­de Zei­len ein:

#!/bin/bash
cd /var/www/nextcloud
sudo -u www-data php occ maintenance:mode --on
rsync --progress -h -a --delete /var/www/nextcloud /hdd2/Backup/www
rsync --progress -h -a --delete /hdd1/nextcloud /hdd2/Backup/data
if [ -f /hdd2/Backup/db/cloud.sql ]; then rm /hdd2/Backup/db/cloud.sql fi
mysqldump --single-transaction cloud > /hdd2/Backup/db/cloud.sql
sudo -u www-data php occ maintenance:mode --off   
  

Er­läu­te­run­gen zum Back­upskript:

  • Zeile 2 + 3: Die Next­cloud wird in den War­tungs­mo­dus ver­setzt, damit keine Daten mehr ge­än­dert wer­den kön­nen.
  • Zeile 4: Daten des Web­ver­zeich­nis­ses wer­den ge­si­chert.
  • Zeile 5: USER Daten wer­den ge­si­chert.
  • Zeile 6: Der alte Da­ten­bank­stand wird ge­löscht.
  • Zeile 7: Er­stellt ein neues Back­up der Da­ten­bank.
  • Zeile 8: War­tungs­mo­dus wird be­en­det, die Next­cloud kann wie­der ver­wen­det wer­den.

rsync Syn­chro­ni­siert Da­tei­en und Ord­ner zwi­schen Quel­le und Ziel.

rsync [optionen] Quelle Ziel

Op­tio­nen:

-pro­gress gibt an, dass rsync wäh­rend des Ko­pier­vor­gangs den Fort­schritt aus­ge­ben soll. Kann auch ent­fernt wer­den, da das Back­upskript au­to­ma­ti­siert aus­ge­führt wer­den soll.

-a steht für den Ar­chiv-Modus. Der Ar­chiv-Modus ist eine Kom­bi­na­ti­on aus meh­re­ren an­de­ren Op­tio­nen, die häu­fig zum Ko­pie­ren von Da­tei­en ver­wen­det wer­den. Wenn die Op­ti­on -a ver­wen­det wird, wer­den au­to­ma­tisch die fol­gen­den Op­tio­nen ak­ti­viert:

  • -r Re­kur­si­ves Ko­pie­ren von Un­ter­ver­zeich­nis­sen
  • -l Be­hal­ten von sym­bo­li­schen Links
  • -p Bei­be­hal­ten von Da­tei­be­rech­ti­gun­gen
  • -t Bei­be­hal­ten von Zeits­tem­peln
  • -g Bei­be­hal­ten von Grup­pen­in­for­ma­tio­nen
  • -o Bei­be­hal­ten von Be­nut­zer­in­for­ma­tio­nen

Die Op­ti­on -a sorgt also dafür, dass alle diese Op­tio­nen ak­ti­viert wer­den, um eine voll­stän­di­ge Kopie von Ver­zeich­nis­sen und Da­tei­en zu er­stel­len, die die glei­chen Ei­gen­schaf­ten wie die Quell­da­tei­en und -ver­zeich­nis­se haben.

-h steht für human-re­a­da­ble (mensch­lich les­bar). Wenn diese Op­ti­on bei der Aus­füh­rung von rsync ver­wen­det wird, wer­den die Da­tei­grö­ßen und an­de­re In­for­ma­tio­nen in einem für Men­schen leich­ter les­ba­ren For­mat an­ge­zeigt.

--de­le­te löscht Da­tei­en im Ziel­ver­zeich­nis, die nicht mehr im Quell­ver­zeich­nis vor­han­den sind, um si­cher­zu­stel­len, dass das Ziel­ver­zeich­nis eine ex­ak­te Kopie des Quell­ver­zeich­nis­ses ist.

Damit Sie das Skript aus­füh­ren dür­fen, ver­wen­den Sie den Be­fehl:

chmod +x /var/backupskript.sh

Nach­dem das Back­up-Skript zum ers­ten Mal aus­ge­führt wurde, soll­ten sich auf der Back­up­fest­plat­te in den oben be­schrie­be­nen Ord­nern die Da­tei­en der Next­cloud be­fin­den. Um das Skript ma­nu­ell zu star­ten, ver­wen­den Sie den Be­fehl:

/var/backupskript.sh

Back­up Au­to­ma­ti­sie­ren

Mit Cron las­sen sich immer wie­der­keh­ren­de Auf­ga­ben zeit­ba­siert star­ten. Wenn Sie Cron zum ers­ten Mal ver­wen­den, wer­den Sie ge­fragt, in wel­chem Edi­tor Sie ar­bei­ten möch­ten. Bitte wäh­len Sie hier den Edi­tor nano.

crontab -e

cron-Be­feh­le sind wie folgt auf­ge­baut:

Minute    Stunde    Tag     Monat     Wochentag     /Pfad/Programmname

Wenn das Back­up­script täg­lich um 02:30 Uhr star­ten soll, lau­tet der Ein­trag wie folgt (Die ein­zel­nen Ein­trä­ge wer­den durch ein Tab ge­trennt):

30     2     *     *     *     /var/backupskript.sh

Si­cher­heits­ein­stel­lun­gen