carl7n
Goto Top

Probleme mit selbstgebasteltem Backup-Script auf Raspberry Pi (rsync, Shell)

Hallo,

laut meiner Recherche kann man kein vollständiges Backup des Raspberry Pi (auf meinem läuft Raspbian) im laufenden Betrieb anfertigen. Also sodass sich das System komplett selbst beispielsweise auf einem NAS sichert. Ich habe mir nun ein Script gebastelt, welches stattdessen einfach die wichtigsten Dateien auf meinem NAS sichert, sodass ich im Fall eines Crashes meiner SD-Karte das System neu aufspielen müsste, aber dennoch sämtliche Scripts und wichtigen Einstellungen sofort wiederherstellen könnte.

Das Script sieht so aus

#!/bin/bash

    # Meine selbst erstellten Scripts und die Einstellungen
        rsync -avr /home/rasper/scripts/ /home/rasper/nas_verknuepfung/scripts/
        rsync -avr /home/rasper/einstellungen.txt /home/rasper/nas_verknuepfung/einstellungen.txt

    # Die per Webserver einsehbaren Dateien
        rsync -avr /var/www/ /home/rasper/nas_verknuepfung/var/www/

    # xinetd Konfiguration
        rsync -avr /etc/xinetd.d /home/rasper/nas_verknuepfung/etc/

    # fstab Konfiguration
        rsync -avr /etc/fstab /home/rasper/nas_verknuepfung/etc/fstab

    # crontabs Konfiguration 
        sudo rsync -avr /var/spool/cron/crontabs/ /home/rasper/nas_verknuepfung/var/spool/cron/crontabs

    # Postfix Konfiguration 
        rsync -avr /etc/postfix/ /home/rasper/nas_verknuepfung/etc/postfix/

Die Verzeichnisstrukturen sichere ich mit, da ich noch Anfänger bin und in diesem Fall einfacher rekonstruieren kann, in welchen Pfad die entsprechenden Dateien ggf. nach einer Neuinstallation gesichert werden müssen.

User rasper hat admin-Rechte. Das Script funktioniert soweit. Aber es werden Fehler ausgegeben, und da ich gerne "sauber" arbeiten würde, möchte ich es nun optimieren.
Zur Erklärung: /nas/verknuepfung/ ist ein Mount zu meinem NAS, welcher bei Start des Pi automatisch ausgeführt wird. Das funktioniert auch, die Daten landen auf dem NAS.

Ich kann mir folgende Fehlermeldung nicht erklären. Könnt Ihr weiterhelfen?

sh backup.sh
sending incremental file list
./
rsync: chgrp "/home/raspe/nas_verknuepfung/scripts/." failed: Permission denied (13)
rsync: chgrp "/home/raspe/nas_verknuepfung/scripts/backup.sh" failed: Permission denied (13)
logs/
rsync: chgrp "/home/raspe/nas_verknuepfung/scripts/logs" failed: Permission denied (13)
rsync: chgrp "/home/raspe/nas_verknuepfung/scripts/logs/mediastat.log" failed: Permission denied (13)
rsync: chgrp "/home/raspe/nas_verknuepfung/scripts/logs/test" failed: Permission denied (13)
rsync: chgrp "/home/raspe/nas_verknuepfung/scripts/logs/webtrigger.log" failed: Permission denied (13)

sent 194 bytes received 34 bytes 456.00 bytes/sec
total size is 4606 speedup is 20.20
rsync error: some files/attrs were not transferred (see previous errors) (code 23) at main.c(1070) [sender=3.0.9]
sending incremental file list

sent 44 bytes received 12 bytes 112.00 bytes/sec
total size is 1513 speedup is 27.02
sending incremental file list
./

sent 74 bytes received 21 bytes 190.00 bytes/sec
total size is 197 speedup is 2.07
sending incremental file list
xinetd.d/

sent 66 bytes received 19 bytes 170.00 bytes/sec
total size is 265 speedup is 3.12
sending incremental file list

sent 33 bytes received 15 bytes 96.00 bytes/sec
total size is 419 speedup is 8.73
sending incremental file list
./
rsync: chown "/home/raspe/nas_verknuepfung/var/spool/cron/crontabs/." failed: Permission denied (13)
rsync: chgrp "/home/raspe/nas_verknuepfung/var/spool/cron/crontabs/raspe" failed: Permission denied (13)
rsync: chown "/home/raspe/nas_verknuepfung/var/spool/cron/crontabs/root" failed: Permission denied (13)

sent 78 bytes received 21 bytes 198.00 bytes/sec
total size is 1400 speedup is 14.14
rsync error: some files/attrs were not transferred (see previous errors) (code 23) at main.c(1070) [sender=3.0.9]
sending incremental file list
./
sasl/

sent 245 bytes received 43 bytes 192.00 bytes/sec
total size is 74616 speedup is 259.08

Permission denied (13) verstehe ich nicht. raspe hat selbstverständlich die Berechtigung, auf /home/raspe/* zuzugreifen. Auch besteht Lese- und Schreibzugriff auf das gemountete NAS (eben noch einmal per Terminal sowie Remotedesktopverbindung getestet). Wie gesagt funktioniert das Script eigentlich. Alle Dateien auf meinem NAS sind aktuell und vollständig. Gerade deshalb wundern mich die Fehlermeldungen. Sollte ich statt rsync -avr (hatte ich mir ergoogelt) andere Attribute verwenden?

Beste Grüße

Content-Key: 264215

Url: https://administrator.de/contentid/264215

Printed on: April 24, 2024 at 13:04 o'clock

Member: Gentooist
Gentooist Feb 22, 2015 at 09:41:05 (UTC)
Goto Top
Also "rsync -avr" ist doppelt gemoppelt; denn der Parameter "-a" ist eine Abkürzung für "-rlptgoD", da kommt also das "-r" schon drin vor. Es kann sich für dich möglicherweise lohnen, anstellt von "-avr" "-avz" zu nutzen, dann werden die Dateien komprimiert übertragen.

Mögliche Ursachen für den Fehler sind:

1. das Dateisystem deiner NAS kann einfach Dateiberechtigungen nicht speichern (z.B. FAT),
2. rsync läuft nicht als root,
3. der betreffende Benutzer/ID kommt auf dem Zielsystem nicht vor. (naja)

Übrigens für solche Sachen könntest du auch rsnapshot benutzen, das ist dafür gemacht (http://wiki.ubuntuusers.de/rsnapshot) und kann zwischen mehreren Backups alternieren.

Deine Information ist übrigens falsch, man kann durchaus im laufenden Betrieb von seinem Raspberry PI ein komplettes und konsistentes Backup anfertigen. Dazu muss man allerdings die entsprechende Partition als LVM aufgesetzt haben und dann erstellt man eben genau dafür einen Snapshot, den man nach dem Backup wieder löscht.

Ob das bei der langsamen Zugriffsgeschwindigkeit auf die SD-Karte Sinn macht, weiß ich nicht. Außerdem ist die Einrichtung des Pi mit Booten in LVM nicht ganz trivial je nach Distribution, aber es ist machbar.