[geloest]Cronjob für Nextcloud Backup

Alle weiteren Dienste, die nicht in die drei oberen Foren gehören.
Antworten
Luegenbaron
Beiträge: 2
Registriert: 07.09.2017 22:53:17

[geloest]Cronjob für Nextcloud Backup

Beitrag von Luegenbaron » 07.09.2017 23:18:31

Hallo erstmal.
Ich hoffe ich bin hier richtig. Habe alle relevanten Informationen gepostet usw. Ansonsten werde ich das so schnell als möglich nachholen damit Ihr die Galskugeln nicht zu fest abnutzen müsst :D

Aber zur Frage

Ich habe eine Nextcloud installation. Diese ist unter var/www/nextcloud
Diese würde ich gerne per Cronjob Backupen und zwar die die Config Datein, die Daten selber und zum schluss die mysql Datenbank. Das ganze soll über einen rsnapshot laufen. Jetzt möchte ich während dieser Zeit die Nextcloud in den maintenance mode Versetzten.

Jetzte wenn ich Testweise mein rsnaspshot mittels testconfig testen will meldet er mir:

root@nextcloud:~# rsnapshot testconfig
----------------------------------------------------------------------------
rsnapshot encountered an error! The program was invoked with these options:
/usr/bin/rsnapshot testconfig
----------------------------------------------------------------------------
ERROR: /etc/rsnapshot.conf on line 256:
ERROR: backup_script /usr/local/bin/put_in_maintenance.sh - no destination \
path specified
ERROR: /etc/rsnapshot.conf on line 260:
ERROR: backup_script /usr/local/bin/put_off_maintenance.sh - no destination \
path specified
ERROR: ---------------------------------------------------------------------
ERROR: Errors were found in /etc/rsnapshot.conf,
ERROR: rsnapshot can not continue. If you think an entry looks right, make
ERROR: sure you don't have spaces where only tabs should be.
root@nextcloud:~#


Die rnsnapshot.conf hat folgenden Inhalt der von mir hinzugefügt wurde:

Code: Alles auswählen

# Nextcloud
backup_script	/usr/local/bin/put_in_maintenance.sh
backup_script	/usr/local/bin/backup_mysql.sh	mysql/mysql_dump
backup	/var/www/nextcloud/	nextcloudConfig/
backup	/home/nextcloud/nextclouddaten/	nextclouddaten/
backup_script	/usr/local/bin/put_off_maintenance.sh
Die Backup_scripte haben folgenden Inhalt
/usr/local/bin/put_in_maintenance.sh :

Code: Alles auswählen

#!/bin/sh
sudo -u www-data php occ maintenance:mode --on

/usr/local/bin/put_off_maintenance.sh :

Code: Alles auswählen

#!/bin/sh
sudo -u www-data php occ maintenance:mode --off
Nun was ich noch gemacht habe ist eine Sym-Link, in den Ordner von den 3 Scripts, zu occ welches unter /var/www/nextcloud.... liegt.
Somit kann ich die Scripts als solche ausführen in der Kommando Zeile ohne fehler, aber rsnashot kann es leider nicht weil es irgendeinen Pfad nicht findet.

Lieg ich das richtig? Könnte mir da jemand weiterhelfen, sei es mit direkter hilfe alla: "mach mal,... und du solltest....
Oder wenn ich richtig liege mit dem vermissten Pfad, mittels lies mal da nach... so musst du deinen Script System mitteilen wo es was findent

Ich komme aber leider selber nicht wircklich weiter.
Herzlichen Dank allen Lesenden und Antwortenden

(Edit: Die Code blöcke eingefügt)
Zuletzt geändert von Luegenbaron am 12.09.2017 00:18:53, insgesamt 6-mal geändert.

Benutzeravatar
sbruder
Beiträge: 333
Registriert: 24.06.2016 13:54:36
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: Franken

Re: Cronjob für Nextcloud Backup

Beitrag von sbruder » 09.09.2017 01:59:56

Erstmal: für Programmausgaben, gibt es [​code​][​/code​]-Blöcke.
backup_script braucht einen zweiten Parameter [1], der in Deiner Config nur in der 2. Zeile angegeben ist (wo er ja auch richtig ist).
In der ersten und der letzten Zeile muss vermutlich cmd_preexec bzw. cmd_postexec stehen. [2]

Sollte dann zum Schluss so aussehen:

Code: Alles auswählen

cmd_preexec /usr/local/bin/put_in_maintenance.sh
backup_script /usr/local/bin/backup_mysql.sh mysql/mysql_dump
backup /var/www/nextcloud/ nextcloudConfig/
backup /home/nextcloud/nextclouddaten/ nextclouddaten/
cmd_postexec /usr/local/bin/put_off_maintenance.sh
Wie das mit dem relativen Pfad in den backup*-Anweisungen gehen soll weiß ich nicht, aber ich kenne mich mit rsnapshot auch nicht besonders aus.

[1] https://wiki.archlinux.org/index.php/Rs ... ra_Scripts
[2] https://wiki.archlinux.org/index.php/Rs ... pendencies

Luegenbaron
Beiträge: 2
Registriert: 07.09.2017 22:53:17

Re: Cronjob für Nextcloud Backup

Beitrag von Luegenbaron » 11.09.2017 12:48:30

Hallo sbruder

Danke Dir vielmals für die Antwort. Bin total auf dem Schlauch gestanden.
Natürlich sagt der error log ja eigentlich schon alles.
Rsnapshot erwartet wie der error log sagt nach einem backup_script zuerst den Ort wo das script ist und dann wo hin er die erstellten Daten hinverschieben soll.

Und da ich ja mit dem maintenance script keine Daten gewinnen will und folglich kein Backup-Pfad angegeben habe meldete er das natürlich.
Für solche scripts ist wie du gesagt hast das cmd_preexec und cmd_postexec zuständigt. Da erwartet er ja auch kein Backup-Pfad.

Und ich musst bei den Scripts noch den Pfad ergänzen:

Code: Alles auswählen

#!/bin/sh
cd /var/www/nextcloud/ # in das verzeichniss wechseln wo das occ ist
sudo -u www-data php occ maintenance:mode --on
Danke Dir vielmals

(Habe das ganze nur noch ausgeschrieben falls mal jemand gleich fest auf dem Schlauch steht wie ich gerade) :facepalm:

Antworten