ubuntuusers.de

rsync liefert keine Ausgabe

Status: Gelöst | Ubuntu-Version: Ubuntu 20.04 (Focal Fossa)
Antworten |

etom

Anmeldungsdatum:
18. Februar 2021

Beiträge: Zähle...

Hallo zusammen, ich kämpfe seit einigen Tagen mit einem Problem mit rsync und komme nicht weiter.

Ich nutze Ubuntu Server 20.04 LTS / amd64 (up to date), rsync version 3.1.2 protocol version 31 (installiert per apt)

Auf Basis dieses Skripts https://wiki.ubuntuusers.de/Skripte/Backup_mit_RSYNC/ habe ich mir ein Skript gebaut, das mir per cron jede Nacht einen bestimmtes Verzeichnis auf eine zweite Platte backupt. Nachdem es einige Tage wie erwartet lief, funktioniert nun von einer auf die andere Nacht mein rsync nicht mehr. Ich kann mir nicht erklären woran das liegen kann bzw. wie ich dem Problem näher auf die Spur komme.

"rsync funktioniert nicht" heißt:

  • es bringt absolut keinen Output (weder Terminal noch Files)

  • starte ich rsync aus dem Terminal ohne weitere Parameter, erwarte ich eigentlich die Ausgabe der Funktionsbeschreibung, Parameter und Optionen. Es beendet aber einfach ohne Ausgabe.

  • gleiches Verhalten für alle Benutzer (inkl. sudo user)

  • ebenso bei direktem Starten aus /usr/bin

  • per apt removed und neu installiert –> keine Änderung

  • Exit Code ist 0

1
2
3
root@wzpc:/usr/bin# rsync
root@wzpc:/usr/bin# rsync --help
root@wzpc:/usr/bin# rsync --version

Über jegliche Ideen und Anregungen freue ich mich. Danke!

tom

sebix Team-Icon

Ehemalige

Anmeldungsdatum:
14. April 2009

Beiträge: 5582

was sagt denn whereis rsync?

etom

(Themenstarter)

Anmeldungsdatum:
18. Februar 2021

Beiträge: 4

Hallo sebix,

1
2
root@wzpc:/usr/bin# whereis rsync
rsync: /usr/bin/rsync /usr/share/rsync /usr/share/man/man1/rsync.1.gz

sebix Team-Icon

Ehemalige

Anmeldungsdatum:
14. April 2009

Beiträge: 5582

Ok, also kein Problem mit $PATH. Was zeigt strace rsync? (Output ist lang, bitte als Anhang hochladen)

etom

(Themenstarter)

Anmeldungsdatum:
18. Februar 2021

Beiträge: 4

So lang war der Output gar nicht. Vielleicht schon eine Folge des Problems:

1
2
3
4
root@wzpc:/usr/bin# strace rsync
execve("/usr/bin/rsync", ["rsync"], 0x7ffd239f0820 /* 28 vars */) = -1 ENOEXEC (Exec format error)
strace: exec: Exec format error
+++ exited with 1 +++

fork991

Anmeldungsdatum:
26. Mai 2010

Beiträge: 58

Die strace Ausgabe besagt, dass das rsync Binary kaputt ist(oder eine der verlinkten Bibliotheken?). Vielleicht aus Versehen überschrieben?

Mal diese Befehle probieren...

ls -l /usr/bin/rsync
file /usr/bin/rsync

apt install debsums
debsums rsync

# alternativ zu debsums:
dpkg -V rsync

... so als Ursachenforschung.

Und dann das rsync Paket neustallieren. (apt install --reinstall rsync)

etom

(Themenstarter)

Anmeldungsdatum:
18. Februar 2021

Beiträge: 4

@fork991 Hallo und danke für den Hinweis zu schauen, ob das Binary auffällig ist, es ist nämlich kaputt. Da hätte ich selbst drauf kommen sollen. Ich hab es nicht getan, da scheinbar eine Neuinstallation keine Besserung gebracht hat. Aber was mir nicht aufgefallen war, die Neuinstallation hat garnicht geklappt hat.

APT sagte mir (nach einem --reinstall):

1
2
3
4
5
6
7
0 upgraded, 0 newly installed, 1 reinstalled, 0 to remove and 28 not upgraded.
Need to get 322 kB of archives.
After this operation, 0 B of additional disk space will be used.
Get:1 http://de.archive.ubuntu.com/ubuntu focal/main amd64 rsync amd64 3.1.3-8 [322 kB]
Fetched 322 kB in 0s (1434 kB/s)
W: APT had planned for dpkg to do more than it reported back (0 vs 5).
   Affected packages: rsync:amd64

Weiteres nachforschen hat gezeigt, dass auch das binary von dpkg kaputt ist. Das habe ich mir jetzt aus dem .deb file rausgefummelt und wiederhergestellt. Jetzt kann ich auch rsync wieder reinstallieren und alles funktioniert wieder. 👍 Warum das alles, schreib ich unten noch...

@sebix: Danke für den Verweis auf strace. Das kannte ich noch nicht und ist eine super Sache, gerade wenn man gerne verstehen will was hinter den Kulissen so passiert.

Warum alles so gekommen ist, konnte ich jetzt anhand von log-files nachvollziehen. Um am Backup-Skript "noch kurz" was zu korrigieren hatte ich mich per smartphone ssh verbunden und dabei versehentlich Fragmente des Skripts, die noch in der Zwischenablage des ssh-Clients schlummerten in die aktive Shell kopiert und ausgeführt. Dabei wurden dpkg und rsync überschrieben.

Lessons Learned:

  • nur root, wenn root nötig (wieder mal)

  • strace kennengelernt und als sehr nützlich befunden

Danke nochmal Euch beiden für das Aufzeigen des Lösungswegs ☺

Antworten |