Script aus Wiki - Permission denied

Status
Für weitere Antworten geschlossen.

rednag

Benutzer
Mitglied seit
08. Nov 2013
Beiträge
3.954
Punkte für Reaktionen
11
Punkte
104
Hallo Leute,

ich würde gerne meine Datenbanken welche ich angelegt habe (WordPress, NextCloud, ownCloud) sichern.
Hierfür würde ich gerne auf das Scrip vom Wiki (http://www.synology-wiki.de/index.php/Backup_der_MySQL-Datenbank_über_einen_cronjob) zurückgreifen und dieses dann per Aufgabenplaner ausführen lassen.
Leider scheint mir hier ein Fehler unterlaufen zu sein, oder aber in den Pfaden hat sich was geändert, da die Anleitung von 2013 ist.
Das Script liegt unter /volume1/Backup und soll nach /volume1/Backup/Datenbanken sichern.

Wenn das Scrip ausgeführt wird, erhalte ich "Permission denied..."
Ich hab das Script schon testweise anderen Eigentümern zugeordnet, aber leider immer das gleiche Fehlverhalten.

So sieht das Script aus:

Rich (BBCode):
#!/bin/bash
#
# dieses Skript kann man beliebig oft ausführen
#
# Anzahl der Sicherungen die aufgehoben werden sollen
KEEP=30
BACKUPS=`find /volume1/Backup/Datenbanken -name "mysqldump-*.gz" | wc -l | sed 's/\ //g'`
while [ $BACKUPS -ge $KEEP ]
do
ls -tr1 /volume1/Backup/Datenbanken/mysqldump-*.gz | head -n 1 | xargs rm -f 
BACKUPS=`expr $BACKUPS - 1` 
done
DATE=`date +%Y%m%d%H%M%S`
rm -f /volume1/Backup/Datenbanken/.mysqldump-${DATE}.gz_INPROGRESS
/usr/syno/mysql/bin/mysqldump --opt -uroot -xxxxx --all-databases | gzip -c -9 > /volume1/Backup/Datenbanken/.mysqldump-${DATE}.gz_INPROGRESS
mv -f /volume1/Backup/Datenbanken/.mysqldump-${DATE}.gz_INPROGRESS /volume1/Backup/Datenbanken/mysqldump-${DATE}.gz
exit 0

Die Aufgabe im Planer:

script.PNG

Und die Fehlermeldung:

script1.PNG

Vielleicht hat wer eine zündende Idee oder Lösungsansätze für mich.
 
Zuletzt bearbeitet:

geimist

Benutzer
Sehr erfahren
Maintainer
Mitglied seit
04. Jan 2012
Beiträge
5.388
Punkte für Reaktionen
1.206
Punkte
234
abgesehen davon, dass du die Datenbanken auch bequem per HyperBackup sichern kannst:
- Ist das Script ausführbar gemacht worden?
- probiere mal admin oder gar root als Ausführender im Aufgabenplaner.

EDIT:
mysqldump liegt bei mir (DSM 6.0) nicht mehr unter "/usr/syno/mysql/bin/mysqldump", sondern unter "/bin/mysqldump" als Link auf "/volume1/@appstore/MariaDB/usr/bin/mysqldump"
 
Zuletzt bearbeitet:

Tommes

Benutzer
Sehr erfahren
Maintainer
Mitglied seit
26. Okt 2009
Beiträge
9.151
Punkte für Reaktionen
1.115
Punkte
314
Auch wäre interessant zu erfahren welchen DSM du verwendest. Unter DSM 6 finde ich nämlich nichts unter...

Code:
/usr/syno/mysql/bin/mysqldump

... mag vielleicht daran liegen das mySQL durch MariaDB ersetzt wurde.

Edit:@geimist Dankeeeeee für den Hinweis aus deinem Edit :eek:!

Tommes
 

rednag

Benutzer
Mitglied seit
08. Nov 2013
Beiträge
3.954
Punkte für Reaktionen
11
Punkte
104
Hallo @Thommes,

hab die Info natürlich vergessen zu schreiben. Das aktuellste DSM kommt bei mir zum Einsatz.
Hab das Script testweise als admin und root ausgeführt.

Die Fehlermeldung hat sich geändert.

script3.PNG
 

Tommes

Benutzer
Sehr erfahren
Maintainer
Mitglied seit
26. Okt 2009
Beiträge
9.151
Punkte für Reaktionen
1.115
Punkte
314
Öhm.... /bin/bash sollte eigentlich mit DSM 6 ausgeliefert worden sein. Geh mal bitte auf die Konsole und tippe ein...

Code:
which sh

... und einmal...

Code:
which bash

... und poste mal die Ausgaben.


EDIT: Ach Quatsch. Ich gaub du mußt einfach nur ...

Code:
sh volume1/Backup/mysqulbackup.sh

bzw. 

bash volume1/Backup/mysqulbackup.sh

... zum Ausführen eintragen.
 

geimist

Benutzer
Sehr erfahren
Maintainer
Mitglied seit
04. Jan 2012
Beiträge
5.388
Punkte für Reaktionen
1.206
Punkte
234
Also bei mir funktioniert es mit #!/bin/bash … sollte aber auch mit #!/bin/sh laufen

Da du uns vorhin freundlicherweise bereits dein MySQL-Passwort mitgeteilt hast, fiel mir noch auf, dass das kleine "p" zwischen dem Bindestrich und deinem Kennwort wegelassen hattest. Die Syntax lautet also -pKENNWORT (Das wäre dann wahrscheinlich die nächste Fehlermeldung gewesen :) )
 

Tommes

Benutzer
Sehr erfahren
Maintainer
Mitglied seit
26. Okt 2009
Beiträge
9.151
Punkte für Reaktionen
1.115
Punkte
314

rednag

Benutzer
Mitglied seit
08. Nov 2013
Beiträge
3.954
Punkte für Reaktionen
11
Punkte
104
Danke, das mit dem Passwort ist mir auch siedendheiß eingefallen. Bitte vergessen :p

script4.PNG
 

geimist

Benutzer
Sehr erfahren
Maintainer
Mitglied seit
04. Jan 2012
Beiträge
5.388
Punkte für Reaktionen
1.206
Punkte
234

rednag

Benutzer
Mitglied seit
08. Nov 2013
Beiträge
3.954
Punkte für Reaktionen
11
Punkte
104
Ok.

ich glaube es funktioniert. Ausführen als "root" und eingetragen mit "/volume1/Backup/mysqlbackup.sh"

script5.PNG

Vielen Dank @geimist und @Thommes.

PS: Und verwendet mein Passwort nicht ;)
 

Tommes

Benutzer
Sehr erfahren
Maintainer
Mitglied seit
26. Okt 2009
Beiträge
9.151
Punkte für Reaktionen
1.115
Punkte
314
... oder mal direkt auf der Konsole probieren.

Hat sich wohl erledigt. Dann mal viel Spaß mit deiner neuen Errungenschaft und BTW: ich hab dein Passwort garnicht gelesen... da war ich wohl zu spät. Kannst du es also bitte nochmal wiederholen?

Tommes
 

geimist

Benutzer
Sehr erfahren
Maintainer
Mitglied seit
04. Jan 2012
Beiträge
5.388
Punkte für Reaktionen
1.206
Punkte
234
20 Bytes kommen mir ein wenig wenig vor …
Was sagt das LOG vom Aufgabenplaner?

… ich hab dein Passwort garnicht gelesen... da war ich wohl zu spät. Kannst du es also bitte nochmal wiederholen?

Tommes

Kein Problem - ich schicke er dir per PN ;)
 

rednag

Benutzer
Mitglied seit
08. Nov 2013
Beiträge
3.954
Punkte für Reaktionen
11
Punkte
104
Darf ich da nochmal kurz nachhaken?
Hab mir mal eine Sicherung *.gz auf den Rechner kopiert und mit 7zip entpackt.
Da kommt leider eine 0Byte-Datei raus. Insgesamt ist die gz auf der FileS Station mit 20 bytes angegeben, was mir aber auch arg wenig vorkommt.

datei.PNG
 

geimist

Benutzer
Sehr erfahren
Maintainer
Mitglied seit
04. Jan 2012
Beiträge
5.388
Punkte für Reaktionen
1.206
Punkte
234
Daher nochmal meine Frage: Was sagt das Log vom Aufgabenplaner?

Bei mir war es der Fall (20 Byte BackUp) als ich ein falsches Passwort hatte (da war nämlich noch deins in meinem Skript - daher ist mir das erst aufgefallen). Die Fehlermeldung war:
mysqldump: Got error: 1045: "Access denied for user 'root'@'localhost' (using password: NO)" when trying to connect
 

rednag

Benutzer
Mitglied seit
08. Nov 2013
Beiträge
3.954
Punkte für Reaktionen
11
Punkte
104
20 Bytes kommen mir ein wenig wenig vor …
Was sagt das LOG vom Aufgabenplaner?

Sorry, hab ich überlesen. Ich habe die Protokollierung aktiviert, aber ein Log wird nicht geschrieben. Logs werden bei mir auch für Backups nicht angelegt, Ich glaube das ist bei mir kaputt.


Kein Problem - ich schicke er dir per PN ;)

Keine Mühe, ich kann ja das Original - Bild wieder reinstellen. :cool:
 

geimist

Benutzer
Sehr erfahren
Maintainer
Mitglied seit
04. Jan 2012
Beiträge
5.388
Punkte für Reaktionen
1.206
Punkte
234
Das Log kannst du eigentlich abrufen, in dem du im Aufgabenplaner deinen Task markierst (anklickst) und oben auf "Aktion" ==> "Ergebnis anzeigen" klickst.

Alternativ bitte mal direkt auf der Konsole das Skript aufrufen. Dann wird dir der Fehler angezeigt. Bitte prüfe auch nochmal das Passwort (Stichwort: kleine p)
/bin/bash /volume1/Backup/mysqlbackup.sh
 

rednag

Benutzer
Mitglied seit
08. Nov 2013
Beiträge
3.954
Punkte für Reaktionen
11
Punkte
104
Hab das Script nochmal geprüft. Da steht das kleine "p" und gleich im Aschluß ohne Leerzeichen das Passwort.
Das mit dem Ergebnis habe ich auch nicht gewusst.

script1.PNG

script2.PNG
 

Tommes

Benutzer
Sehr erfahren
Maintainer
Mitglied seit
26. Okt 2009
Beiträge
9.151
Punkte für Reaktionen
1.115
Punkte
314
Lies bitte nochmal das EDIT von geimist aus Beitrag #2
 

rednag

Benutzer
Mitglied seit
08. Nov 2013
Beiträge
3.954
Punkte für Reaktionen
11
Punkte
104
EDIT:
mysqldump liegt bei mir (DSM 6.0) nicht mehr unter "/usr/syno/mysql/bin/mysqldump", sondern unter "/bin/mysqldump" als Link auf "/volume1/@appstore/MariaDB/usr/bin/mysqldump"

Ja, das habe ich. Ich muß aber zu meiner Schande gestehen, daß ich daraus nicht schlau werde.
 
Status
Für weitere Antworten geschlossen.
 

Kaffeautomat

Wenn du das Forum hilfreich findest oder uns unterstützen möchtest, dann gib uns doch einfach einen Kaffee aus.

Als Dankeschön schalten wir deinen Account werbefrei.

:coffee:

Hier gehts zum Kaffeeautomat