rsync Fehlermeldungen

NK9000

Cadet 3rd Year
Registriert
Juli 2004
Beiträge
47
Hallo,

habe zuletzt bei einem Bekannten geholfen im Unternehmen einen neuen Server mit Wechselfastplatten & einem NAS-System zum Backup zu installieren.

Das backup läuft nun mit rsync mithilfe eines kleinen Scripts, welches der Bekannte auch schon auf dem alten Server verwendet hatte.

Nun kommt es dort jedoch zu einer _großen_ Menge an Fehlermeldungen, obwohl das eigentliche Backup offensichtlich funktioniert. Wäre natührlich trotzdem schön, einen großteil der Fehlermeldungen weg zu bekommen.

Meine Vermutung wäre eig. dass das Script unter "--exclude" nur den jeweiligen Hauptordner ausschließt, die Unterordner inkl. Dateien trotzdem versucht zu sichern. Könnte ich damit richtig liegen?

Script:
Code:
#!/bin/bash
#Backup auf Terastation
/bin/mount -t cifs -o username=openerp,password=********* //192.101.1.11/openerp /mnt
rsync -avz --delete --ignore-errors --exclude=sys/ --exclude=mnt/ --exclude=proc/ / /mnt > sicherungsmb.log
/bin/umount /mnt

#Backup auf RDX
/bin/mount /dev/sdb1 /mnt
rsync -avz --delete --ignore-errors --exclude=sys/ --exclude=mnt/ --exclude=proc/ / /mnt > sicherung.log
/bin/umount /mnt

Auszug aus den Fehlermeldungen:
Code:
rsync: mknod "/mnt/dev/dm-1" failed: Operation not permitted (1)
rsync: symlink "/mnt/dev/dvd" -> "sr0" failed: Operation not supported (95)
rsync: symlink "/mnt/dev/dvdrw" -> "sr0" failed: Operation not supported (95)
rsync: symlink "/mnt/dev/fd" -> "/proc/self/fd" failed: Operation not supported (95)
rsync: mknod "/mnt/dev/full" failed: Operation not permitted (1)
rsync: mknod "/mnt/dev/hidraw0" failed: Operation not permitted (1)
rsync: mknod "/mnt/dev/hidraw1" failed: Operation not permitted (1)
rsync: mknod "/mnt/dev/hpet" failed: Operation not permitted (1)
rsync: mknod "/mnt/dev/initctl" failed: Operation not permitted (1)
rsync: mknod "/mnt/dev/kmsg" failed: Operation not permitted (1)
rsync: mknod "/mnt/dev/log" failed: Operation not permitted (1)
rsync: mknod "/mnt/dev/loop0" failed: Operation not permitted (1)
...
...
...
rsync: symlink "/mnt/usr/lib/pymodules/python2.6/numpy/lib/twodim_base.py" -> "/usr/share/pyshared/numpy/lib/twodim_base.py" failed: Operation not supported (95)
rsync: symlink "/mnt/usr/lib/pymodules/python2.6/numpy/lib/type_check.py" -> "/usr/share/pyshared/numpy/lib/type_check.py" failed: Operation not supported (95)
rsync: symlink "/mnt/usr/lib/pymodules/python2.6/numpy/lib/ufunclike.py" -> "/usr/share/pyshared/numpy/lib/ufunclike.py" failed: Operation not supported (95)
rsync: symlink "/mnt/usr/lib/pymodules/python2.6/numpy/lib/user_array.py" -> "/usr/share/pyshared/numpy/lib/user_array.py" failed: Operation not supported (95)
rsync: symlink "/mnt/usr/lib/pymodules/python2.6/numpy/lib/utils.py" -> "/usr/share/pyshared/numpy/lib/utils.py" failed: Operation not supported (95)
...
...
...
rsync: mknod "/mnt/var/run/acpid.socket" failed: Operation not permitted (1)
rsync: mknod "/mnt/var/run/dbus/system_bus_socket" failed: Operation not permitted (1)
rsync: mknod "/mnt/var/run/postgresql/.s.PGSQL.5432" failed: Operation not permitted (1)
rsync: mknod "/mnt/var/run/screen/S-root/3061.pts-0.openerp" failed: Operation not permitted (1)
rsync: symlink "/mnt/var/spool/mail" -> "../mail" failed: Operation not supported (95)
rsync: mkstemp "/mnt/var/lib/ucf/cache/.:etc:default:grub.IMpRtv" failed: Not a directory (20)
rsync: mkstemp "/mnt/var/lib/ucf/cache/.:etc:papersize.mkL411" failed: Not a directory (20)
rsync: mkstemp "/mnt/var/lib/ucf/cache/.:etc:samba:smb.conf.GNrpAy" failed: Not a directory (20)

Der gesamte Log ist um ein vielfaches länger. Wollte jetzt hier allerdings nicht alles posten, das meiset scheint sich eh, abgesehen vom jeweiligen Verzeichniss/Dateizu wiederholen.

Wäre für eine kleine Hilfe, oder einen Tipp wie man diese Flut an Fehlermeldungen abstellen kann sehr dankbar :)

Schonmal vielen Dank, Nico
 
Zuletzt bearbeitet:
Die Fehler beziehen sich auf die Versuche neue Devices (mknod) , symbolische Links (symlinks), oder temp Dateien (mkstemp) zu erzeugen. Da du ja CIFS/Samba benutzt, wundert es mich nicht, dass das nicht funktioniert, denn das sind Funktionen vom Linux VFS und CIFS ist aus der Windows-Welt.

Du solltest also auch "/dev" und alle Verzeichnisse mit temporären Daten ausschließen. Falls du irgendwo Symlinks benutzt, die du noch brauchst, wäre eine Möglichkeit beim Backup die betroffenen Links durch die referenzierten Dateien zu ersetzen (Option -L), was beim Restore aber dazu führt, dass auch dort die Links durch die entsprechenden Dateien ersetzt werden (kann zu Problemen führen). Wenn sowohl auf dem Hauptrechner als auch auf dem Backuprechner Linux läuft, könntest du CIFS durch NFS ersetzen.

Meine Vermutung wäre eig. dass das Script unter "--exclude" nur den jeweiligen Hauptordner ausschließt, die Unterordner inkl. Dateien trotzdem versucht zu sichern. Könnte ich damit richtig liegen?

Das glaube ich weniger, denn wenn das übergeordnete Verzeichnis fehlt, wo soll denn dann die Kopie hin? Ein kurzer Test hat das auch bestätigt, das Verzeichnis und alle darin enthaltenen Dateien/Verzeichnisse wurden ausgelassen.
 
Ok, vielen Dank schonmal für die ausführliche Info.
Dann hatte ich da wohl einen Denkfehler, war davon ausgegangen, wenn mnt/ unter den exclude steht, dann müsste mnt/dev/ ja auch ausgelassen und garnicht angepfasst werden...

Gut, die Wechselplatten stecken sowieso im Linuxserver und auf der Buffalo TeraStation ist laut Datenblatt auch NFS nutzbar. Von daher wäre eine Umstellung auf NFS wohl kein Problem, oder?

Auszug aus dem Datenblatt:
Gemeinsame Dateinutzung: SMB/CIFS, AFP, FTP/FTPS, SFTP, HTTP/HTTPS, NFS

Müsste man in diesem Fall das /dev Verzeichniss bzw. diese mit temporären Dateien trotzdem ausschließen? Oder wäre das dann egal?
 
Ok, dann hatte ich da wohl einen Denkfehler, war davon ausgegangen, wenn mnt/ unter den exclude steht, dann müsste mnt/dev/ ja auch ausgelassen und garnicht angepfasst werden...

Du hast da wohl Quell- und Zielverzeichnis verwechselt (Die Angabe von rsync kann da ein wenig verwirrend sein). Die "exclues" beziehen sich auf die Quelle. Die Fehlermeldungen beziehen sich aber die Probleme bei Erzeugen der speziellen Dateien" beim Ziel. Wenn da also ein Fehler bei "/mnt/dev/" angezeigt wird, geht es um das Verzeichnis "/dev/" von der Quelle.

Gut, die Wechselplatten stecken sowieso im Linuxserver und auf der Buffalo TeraStation ist laut Datenblatt auch NFS nutzbar. Von daher wäre eine Umstellung auf NFS wohl kein Problem, oder?

Sollte funktionieren.

Müsste man in diesem Fall das /dev Verzeichniss bzw. diese mit temporären Dateien trotzdem ausschließen? Oder wäre das dann egal?

Bei den temporären Dateien kann man drüber streiten, aber das "/dev/" Verzeichnis würde ich auf jeden Fall ausschließen, da dort keine echten Dateien drin sind, sondern nur Gerätedateien, die automatisch vom Betriebssystem erzeugt werden.

Noch etwas - im Falle eines Festplattenausfalls, soll dann das Backup dann einfach auf eine leere Platte zurückgespielt werden oder soll zuerst Linux neu installiert und dann erst das Backup zurückgespielt werden? Im ersteren Fall wäre es besser die ganze Partition zu klonen.
Im zweiten Fall könntest du noch deutlich mehr Verzeichnisse ausschließen (ich würde dann nur /etc/, /home/ und evtl. /var/ sichern).
 
Hallo,

danke erstmal noch für die ausführliche Beschreibung. Der Umbau auf NFS scheint schonmal ein voller Erfolg gewesen zu sein, einen großteil der Fehlermeldungen sind wir schonmal los geworden. Was das ausschließen von Ordnern angeht, so hab ich meinem Bekannten das zwar so empfohlen, ob er das in Zukunft dann so umsetzen will weiß ich aber noch nicht.

Es gibt nun allerdings wohl noch einige Berechtigungsfehler... Das neue Script sieht nun jedenfalls folgendermaßen aus:

Code:
#!/bin/bash

#Backup auf RDX
/bin/mount /dev/sdb1 /mnt
rsync -av --delete --delete-excluded --ignore-errors --exclude=sys/
--exclude=mnt/ --exclude=proc/ --exclude=dev/ / /mnt > sicherung.log
/bin/umount /mnt

#Backup auf Terastation
/bin/mount 192.101.1.11:/mnt/array1/openerp /mnt
rsync -av --delete --delete-excluded --ignore-errors --exclude=sys/
--exclude=mnt/ --exclude=proc/ --exclude=dev/ / /mnt > sicherungts.log
/bin/umount /mnt

Nun gibt es nurnoch einige der folgenden Fehlermeldungen:
Code:
...
rsync: chown "/mnt/initrd.img" failed: Operation not permitted (1)
rsync: chown "/mnt/lib64" failed: Operation not permitted (1)
rsync: chown "/mnt/vmlinuz" failed: Operation not permitted (1)
rsync: chown "/mnt/bin" failed: Operation not permitted (1)
rsync: chown "/mnt/bin/bash" failed: Operation not permitted (1)
rsync: chown "/mnt/bin/busybox" failed: Operation not permitted (1)
...

Demnach sind hier wohl Berechtigungsprobleme vorhanden. Allerdings scheint er diese Dateien ja vor dem Umbau des Scripts problemlos synchronisiert zu haben, weiß daher grade nicht wirklich wo genau hier der Fehler liegt. Wäre daher nochmal für einige Tipps dankbar :)
 
Die Bereichtigungsprobs sind klar auf dem Ziel warscheinlich treten sie nicht auf, wenn du nur ein backup auf die rdx machst. Er will die Rechte so setzen wie in der Quelle und kann nicht.

Prüf doch mal mit einem ls -la welche Berechtigungen in der Quelle gesetzt sind bzw was besonderst ist. Habe leider kein Linux System hier zum schauen und ist schon länger her.
 
Zuletzt bearbeitet:
Hey, danke schonmal für die Info. Habs mal so weitergegeben. Hab ja selber leider keinen direkten Zugriff auf den Server von hier aus.

Sobald ich eine Antwort habe werd ich hier nochmal schreiben. Falls jemand vielleicht noch andere Ideen oder Vorschläge hat bin ich trotzdem weiter für Hilfe dankbar :)
 
Zurück
Oben