ubuntuusers.de

Backup script funktioniert nicht mehr

Status: Gelöst | Ubuntu-Version: Ubuntu 18.04 (Bionic Beaver)
Antworten |

suwo

Anmeldungsdatum:
25. Februar 2009

Beiträge: 492

Hallo zusammen.

Irgendwie funktioniert mein script nicht mehr. Ich schließe eine externe HDper USB an und führe das script aus. Hat bis Juni immer geklappt. Heute war mal wieder ein backup fällig, aber komischwerweise wird das script nicht mehr abgearbeitet. Es kommt die Meldung permission denied, obwohl ich an den Dateirechten nichts geändert habe. Hier das script:

#!/bin/bash
#Überprüfung welche HD vorhanden ist

if test -e /media/wolle/2_5_Zoll/Backup.txt
then
#Meldung ausgeben
notify-send -i /home/wolle/.icons/Container.png "Dateien werden auf der kleinen HD gesichert!"

# Sicherung mittels rsync komplettes home-Laufwerk
rsync -a  /home/wolle/  /media/wolle/2_5_Zoll/Backup 

notify-send -i /home/wolle/.icons/Cool-icon.png "So. Alle Dateien kopiert."

umount /media/wolle/2_5_Zoll

notify-send -i /home/wolle/.icons/helm.png "Laufwerk wurde ausgehangen."

#Abschlussmeldung
notify-send -t 0 "Backup durchgeführt."

#Logeintrag in Dokumente/scripte
date "+%x %X Letztes Backup auf kleiner HD" >> Dokumente/scripte/backup.log

else
notify-send  "Du mußt eine Festplatte anschließen!!" -i /home/wolle/.icons/cop-icon.png

fi

Und hier die Fehlermeldung, wenn ich das script im Terminal ausführe:

./backup.sh
rsync: send_files failed to open "/home/wolle/.local/share/gvfs-metadata/root": Permission denied (13)
^Crsync error: received SIGINT, SIGTERM, or SIGHUP (code 20) at rsync.c(644) [sender=3.1.2]
rsync: [sender] write error: Broken pipe (32)
./backup.sh: Zeile 22: Dokumente/scripte/backup.log: Datei oder Verzeichnis nicht gefunden

Vorher war auch der Zugriff auf .cache/doc verboten. Da habe ich die Rechte per chmod +4755 geändert. Und warum die Datei backup.log nicht gefunden wird, ist mir auch ein Rätsel, die existiert nämlich.

Kann mir jemand weiterhelfen? Danke im vorraus,

Suwo

JensHol

Anmeldungsdatum:
31. Oktober 2017

Beiträge: 323

Unter welchem Anwender läuft das Backup? Mal mit sudo probiert? Hat der Anwender keine Rechte auf den Pfad zur Log Datei?

suwo

(Themenstarter)

Anmeldungsdatum:
25. Februar 2009

Beiträge: 492

Ich bin der einzige Nutzer (wolle). Das Script läuft immer als User und nicht als Root. Eigentlich wird das Script über eine desktop Datei gestartet. Erst als es nicht funktionierte, habe ich es mal über das Terminal gestartet.

ChickenLipsRfun2eat Team-Icon

Anmeldungsdatum:
6. Dezember 2009

Beiträge: 12067

Hallo!

Klingt, als hättest du da einige Rechte verbogen. Ggf. ein grafisches Programm mit sudo ausgeführt?

Prüfe mit

find ~ ! -user $USER -ls 

auf falsche Rechte im Homeverzeichnis. Kommt keine Ausgabe, ist alles gut. Ansonsten kann man die Rechte korrigieren.

suwo

(Themenstarter)

Anmeldungsdatum:
25. Februar 2009

Beiträge: 492

Das mit den Rechten habe ich auch vermutet. Das einzige was ich mal gemacht habe, war Thunderbird 78 über snap installiert und deinstalliert. Sonst habe ich nichts geändert. Aber sei es drum. So die Dateirechte habe ich jetzt geändert. Die einzige Fehlermeldung hatte ich bei

sudo chmod 600 /home/BENUTZER/.dmrc

Da kam dann Verzeichnis nicht gefunden. Muss ich das dann noch erstellen? Ansonsten zeigt find ~ ! -user $USER -ls nichts mehr an. Wenn das Script ausgeführt wird erscheinen die Meldungen (notify send) , das Laufwerk wird auch ausgehangen, aber kopiert wird nichts. Ich habe das Script mal im Terminal gestartet und per StrG-C gestoppt. Dann kommt folgende Meldung:

./backup.sh
^Crsync error: received SIGINT, SIGTERM, or SIGHUP (code 20) at rsync.c(644) [sender=3.1.2]
./backup.sh: Zeile 22: Dokumente/scripte/backup.log: Datei oder Verzeichnis nicht gefunden

Da kann ich nichts mit anfangen.

ChickenLipsRfun2eat Team-Icon

Anmeldungsdatum:
6. Dezember 2009

Beiträge: 12067

Hallo!

Wenn du die Rechte wieder geradegebogen hast, um so besser. Übrigens: Mit der „pauschalen“ Methode entziehst du auch allen Dateien die Ausführungsrechte. Falls du also lokale Installationen hast, solltest du da nochmal händisch reingucken (bspw. ~/.local/bin).
/home/BENUTZER/.dmrc gibt es nicht zwingend. Ich gehe auch mal davon aus, dass du BENUTZER ersetzt hast 😉

Was dein Script angeht:

  • Das findet relativ zum Script die Datei „Dokumente/scripte/backup.log“ nicht. Das würde ich abändern in „~/Dokumente/scripte/backup.log“.

  • Das ^Crsync error: received SIGINT, SIGTERM, or SIGHUP (code 20) at rsync.c(644) [sender=3.1.2] ist die Fehlermeldung, die das Ctrl-c auslöst.

  • Dein rsync arbeitet nicht rekursiv! → Option -r.

  • Zum prüfen der Funktionsweise kannst du die Option -v (verbose) nutzen.

Das ganze Homeverzeichnis sichern kann u.U. auch eine endlose Geschichte werden, wenn du aktuell mit dem Nutzer angemeldet bist. Dort werden ja bspw. im ~/.cache-Ordner, etc. ständig Dateien verändert. Eventuell böte sich da eine genauere Aufteilung der Ordner an, die wirklich gesichert werden müssen. Alternativ könntest du auch das Backup außerhalb der grafischen Oberfläche laufen lassen, bspw. vor einem Login oder nach einem Logout. Das kommt ein wenig auf die zu sichernden Daten an.

suwo

(Themenstarter)

Anmeldungsdatum:
25. Februar 2009

Beiträge: 492

Danke für die Hilfe und Tipps. Jetzt klappt es wieder. Allerdings frage ich mich, warum früher die log Datei gefunden wurde, und jetzt erst wieder, nachdem ich die Tilde eingesetzt habe. Schönen Abend und nochmal vielen Dank.

Suwo

ChickenLipsRfun2eat Team-Icon

Anmeldungsdatum:
6. Dezember 2009

Beiträge: 12067

suwo schrieb:

…frage ich mich, warum früher die log Datei gefunden wurde,…

Das kannst nur du wissen. Hast du das Script zufällig immer von ~/ aufgerufen oder dort abgelegt gehabt? Deine PATH-Variable verändert? Irgendwas™ muss sich ja geändert haben, wenn es vorher funktionierte. Ohne die Tilde geht das auf jeden Fall nur, wenn im betreffenden Verzeichnis tatsächlich der Ordner Dokumente/… liegt.

Antworten |