Push-Nachrichten von MacTechNews.de
Würden Sie gerne aktuelle Nachrichten aus der Apple-Welt direkt über Push-Nachrichten erhalten?
Forum>Software>rsync automatisch starten

rsync automatisch starten

Tobias29.01.2120:12
Hallo,
ich möchte von einem Synology ein Backup via Hyper Backup auf einen mac OS Server (11.1) im gleichen LAN einrichten. Synology und Hyper Backup (rsync) sind konfiguriert und das Backup läuft.

Jetzt kommt mein gefährliches Halbwissen: Auf dem mac OS Server habe ich rsync mit einem Tool rsync server Basic Edition (kostenfrei) gestartet. Dadurch funktioniert Hyper Backup. Ich würde allerdings gerne ohne dieses Tool auskommen und eine entsprechende plist-datei in /LaunchDamon legen, um das Ganze bootsicher einzurichten. Ich habe Beispieldateien im Netz gefunden, die allerdings alle schon ein paar Jahre alt sind und sich auf ältere OS-Versionen beziehen (Beispiel: ).

Um es kurz zu machen: Das funktioniert nicht.

Gibt es leicht verdauliche Anleitungen, an denen ich mich entlanghangeln kann?

Bin für jeden sachdienlichen Tipp dankbar.

Beste Grüße
Tobias

PS. Sollte ich Ahnungsloser wichtige Infos in meiner Frage vergessen haben, einfach nachfragen
0

Kommentare

iBert06.02.2117:51
Mike King hatte doch geschrieben, dass der Mac "quasie zum Client wird der sich die Daten beim Server( in deinem Fall die Synologie) abholt und sichert! Was die beiden Geräte jetzt untereinander aushandeln und wer Server und wer Client ist, das ist doch total egal. Hauptsache das Backup landet auch nach Neustart per rsync automatisch auf deinem MacOSServer oder irre ich da?

Das ganze funktioniert folgendermaßen:
-Die .plst startet rsync und rsyncd und beschreibt wo die rsyncd.conf zu finden ist.
-in der rsyncd.conf steht, wie rsyncd sich bei der Synologie anmelden soll und das es sich um einen Authorisierten Nutzer handelt und wo die Synologie die Anmeldedaten findet.....nämlich in der .secrets Datei.

Klar soweit?
„Objektiv ist relativ, subjektiv gesehen.“
0
iBert06.02.2118:08
PS: Das hat den Vorteil, dass sobald eine Verbindung besteht der Daemon beendet wird. Das spart Resourcen die du brauchtst um deinen Minecraft Server weiterhin betreiben zu können....lDuckundweg
„Objektiv ist relativ, subjektiv gesehen.“
0
Weia
Weia06.02.2118:30
iBert
Mike King hatte doch geschrieben, dass der Mac "quasie zum Client wird der sich die Daten beim Server( in deinem Fall die Synologie) abholt und sichert!
Aber das ist ein völlig anderer Anwendungsfall. Hier geht es darum, dass der Mac zum Server werden soll. Warum kommt diese Verwechslung denn wieder und wieder in diesem Thread auf?

Und wer oder was bitte ist „Mike King“?
„“I don’t care” is such an easy lie. (The Warning, “Satisfied”)“
0
Tobias06.02.2118:31
Hallo iBert,

mit Deiner Erklärung irrst Du nicht. Verstanden hab ich es prinzipiell auch. Aktuell scheitere ich noch an der Aktualisierung von rsync. Wenn ich das Problem gelöst habe, kümmere ich mich um die rsyncd.conf.

Da der Server eh nicht viel zu tun hat, könnte ich vermutlich auch einen Minecraft Server betreiben. Dafür müsste ich aber vorher noch Interesse daran entwickeln und daran scheitere ich vermutlich auch schon

Tobias
0
Tobias06.02.2118:34
Hallo Weia,

Dein Einwurf hat sich mit meiner Antwort überschnitten. Ich hatte das auch eher so verstanden und deshalb die Anleitung bzgl. rsyncd.conf zur Seite gelegt.

Wie aktualisiere ich jetzt rsync?

Tobias
0
Tobias06.02.2121:25
Das hat funktioniert!

Nach Neustart schmeißt das Terminal nach Eingabe von rsync --version Version 3.1.3 protocol version 31 aus. Die plist hab ich Library/LaunchDaemons kopiert und neu gestartet. In der Aktivitätsanzeige kann ich rsync leider nicht finden. Vermutlich steckt der Fehler in der plist. Mag da einer mal draufgucken?

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
        <key>Disabled</key>
        <false/>
        <key>Label</key>
        <string>org.samba.rsync</string>
        <key>Program</key>
        <string>/usr/local/bin/rsync</string>
        <key>ProgramArguments</key>
        <array>
                <string>/usr/local/bin/rsync</string>
                <string>--daemon</string>
                <string>--config=/usr/local/etc/rsyncd/rsyncd.conf</string>
        </array>
        <key>inetdCompatibility</key>
        <dict>
                <key>Wait</key>
                <false/>
        </dict>
                <key>Sockets</key>
                <dict>
                        <key>Listeners</key>
                        <dict>
                                <key>SockServiceName</key>
                                <string>rsync</string>
                                <key>SockType</key>
                                <string>stream</string>
                        </dict>
                </dict>
</dict>
</plist>
0
Weia
Weia06.02.2121:30
Tobias
Wie aktualisiere ich jetzt rsync?
Wieso willst du jetzt rsync aktualisieren? Was meinst du denn damit? Wir hatten doch besprochen, dass du einfach das rsync aus dem Programmpaket von deinem Programm nach /usr/local/bin kopierst und ich dachte, das hättest du auch schon getan?

Edit: Das hat sich mit deinem letzten Beitrag überschnitten.
„“I don’t care” is such an easy lie. (The Warning, “Satisfied”)“
0
Weia
Weia06.02.2121:35
Gibt es die in der plist angeführte Datei /usr/local/etc/rsyncd/rsyncd.conf denn nun?
„“I don’t care” is such an easy lie. (The Warning, “Satisfied”)“
0
Tobias06.02.2121:41
Sorry, wenn ich mich unklar ausgedrückt habe. Ich hab rsync aus dem Programmpaket nach /usr/local/bin kopiert.

Ich hab eine rsyncd.conf angelegt. Die liegt aber noch auf dem Schreibtisch, weil ich nicht weiß, was ich daran noch anpassen muss. So sieht die derzeit aus:

motd=/usr/local/etc/rsyncd/rsyncd.motd
uid = nobody
gid = nobody
use chroot = no
max connections = 4
syslog facility = local5

[mk]
        path = /Volumes/Data/home/mikel/stuff
        comment = Mikel King Repository
                uid = www
                gid = www
        list = yes
                read only = no
        auth users = mking
        secrets file = /usr/local/etc/rsyncd/mking.secrets

Mir ist natürlich klar, dass da einige Pfade drin sind, die nicht passen können.

Ich hatte Dich eben aber auch so verstanden, dass die rsyncd.conf gar nicht notwendig ist.

Ihr habts nicht leicht mit mir ...
0
Weia
Weia06.02.2121:47
Kann sein, dass die Aktivitätsanzeige hier täuscht. Denn ein Gag bei dem Launch-Daemon-Verfahren ist ja, dass das jeweilige Dämon-Programm erst dann gestartet wird, wenn dafür auch Bedarf besteht, wenn also im hiesigen Fall aus dem Netzwerk eine Anfrage für rsync kommt. Das hatte ich nicht bedacht. Vielleicht kannst du ja schon mal ausprobieren, ob bereits eine Verbindung aufgebaut werden kann.
„“I don’t care” is such an easy lie. (The Warning, “Satisfied”)“
0
Tobias06.02.2121:51
ok, das wäre natürlich elegant und ich müsste nicht weiter nerven. Ich kann erst Morgen testen, weil ich den Mac zwecks Installation mit nach Hause genommen habe.

Ihr habt also Ruhe heute Abend

Tobias
0
Weia
Weia06.02.2122:36
Nein, ohne /usr/local/etc/rsyncd/rsyncd.conf kann es mit der obigen plist nicht gehen.

Dein Problem ist, dass Du dir offenbar wild aus irgendwelchen untereinander inkompatiblen Anleitungen (wer zum Teufel ist Mikel King?) Dinge zusammenkopierst, ohne zu versuchen, auch nur im Ansatz zu verstehen, was Du da eigentlich tust. Dann scheiterst Du schon an minimalen Abweichungen zu Deiner Situation. Wenn eine völlig neue Sache auftaucht, solltest Du versuchen, die entsprechende Manpage im Terminal zumindest zu überfliegen und nach für Dich relevanten Dingen zu scannen. Also man rsync, man launchd und vor allem man launchd.plist usw.

Also, ganz grundsätzlich: Fast alle Unix-Programme brauchen, um ihre Aufgabe sinnvoll erfüllen zu können, beim Start irgendwelche Parameter, die ihnen sagen, was genau sie tun sollen. Diese Parameter kann man ihnen auf zwei Weisen übergeben: als Argumente in der Kommandozeile, also
program -a Parameter1 -b Parameter2 ...
oder in einer zu dem Programm gehörigen Konfigurationsdatei wie hier z.B. /usr/local/etc/rsyncd/rsyncd.conf. Man kann auch beide Verfahren beliebig mischen, wobei dann Angaben der Kommandozeile Angaben in der Konfigurationsdatei überschreiben würden, falls sie doppelt spezifiziert sind.

Dabei kann in einer Konfigurationsdatei x-Beliebiges stehen, je nach Anwendungsfall. Du kannst nicht einfach irgendeine Konfigurationsdatei aus dem Netz kopieren und dann hoffen, dass sie zufällig das spezifiziert, was Du brauchst.

Eine plist für launchd ist wie gesagt eine Konfigurationsdatei, die launchd mitteilt, was er tun soll. In der Datei, die Du jetzt verwendest, steht drin, dass rsync im Dämon-Mode von launchd gestartet werden soll und zwar dann, wenn aus dem Netz eine Anfrage nach dem Dienst rsync kommt. Das passt soweit schon mal.

Jetzt schau Dir nochmal die Passage näher an, in der in der plist genau konfiguriert ist, wie rsync gestartet werden soll:

<key>Program</key>
<string>/usr/local/bin/rsync</string>
<key>ProgramArguments</key>
<array>
        <string>/usr/local/bin/rsync</string>
        <string>--daemon</string>
        <string>--config=/usr/local/etc/rsyncd/rsyncd.conf</string>
</array>
Was da steht, heißt im Klartext:

1. Gestartet werden soll das Programm /usr/local/bin/rsync.

2. Diesem Programm sollen folgende Argumente übergeben werden (pro Zeile in der plist ein Argument):
  • /usr/local/bin/rsync, also der Programmpfad selbst. Das ist eine Unix-Konvention, das erste Argument ist immer der Pfad zu dem Programm (damit das Programm weiß, wo es sich befindet)
  • --daemon, sprich, rsync soll als Dämon laufen, also als Hintergrundprogramm, das darauf wartet, von anderer Seite kontaktiert zu werden
  • --config=/usr/local/etc/rsyncd/rsyncd.conf, sprich, alle anderen Konfigurationseinstellungen sollen aus der Datei /usr/local/etc/rsyncd/rsyncd.conf ausgelesen werden; sie werden also nicht als weitere Argumente der Kommandozeile übermittelt.

Bitte ziehe Dir wenigstens man launchd.plist rein; wenn Du nicht selbst begreifen lernst, was ich Dir gerade in dem plist-Ausschnitt vorgebetet habe, wirst Du nie auf einen grünen Zweig kommen.

Der letzte Punkt aus dieser kurzen Liste macht jedenfalls klar, warum es /usr/local/etc/rsyncd/rsyncd.conf geben muss: Nicht etwa, weil das grundsätzlich so sein müsste, sondern weil die von Dir verwendete plist das explizit so konfiguriert hat.

Damit ist nun leider überhaupt noch nicht gesagt, was für Deinen Anwendungszweck in rsyncd.conf stehen müsste. Aus dem Stegreif weiß ich das auch nicht, denn ich nutze rsync nicht und müsste mich da erst einarbeiten. Die Beispieldatei, die Du da von diesem ominösen Mikel hast, kannst Du jedenfalls getrost auf den Müll werfen.

Wenn ich Dich richtig verstanden habe, war Dein Ausgangspunkt doch, dass sich rsync genauso verhalten soll wie in dem von Dir bereits erfolgreich verwendeten Programm rsync server Basic Edition. Wir müssen also herausfinden, welche Argumente dieses Programm rsync übergibt und ob es das via Kommandozeile oder via rsyncd.conf tut.

Wäre rsync server Basic Edition kostenlos, könnte ich das ja schnell für Dich herausfieseln, aber Geld ausgeben mag ich dafür jetzt eigentlich nicht. Du könntest erstmal gucken, ob sich denn zufällig im Programmpaket auch eine Datei rsyncd.conf findet – das wäre natürlich am einfachsten, dann würdest Du die einfach kopieren, um das Verhalten von rsync server Basic Edition zu klonen. Falls nein, könnte es sein, dass rsync server Basic Edition diese Datei irgendwo in die /usr/local/-Hierarchie kopiert hat – kannst Du das noch rekonstruieren, oder ist das jetzt alles gelöscht?

Der dritte Fall wäre, dass rsync server Basic Edition alle Argumente für rsync via Kommandozeile übergibt, wenn es rsync aufruft – das wäre dann am schwierigsten zu rekonstruieren, ist aber leider nicht ganz unwahrscheinlich.
„“I don’t care” is such an easy lie. (The Warning, “Satisfied”)“
+3
iBert07.02.2105:29
Weia
Mal ein bischen nett hier....
Tobias hat sich nicht wahllos "irgendwelche" Codeschnipsel aus dem Netz zusammengesucht.
Jede Zeile kommt von der (wie ich finde) sehr ausführlichen Anleitung vom Mike King, den Tobias auch in seinem Eröffnungsthread verlinkt hat . Und um diese Anleitung dreht sich der gesamte Thread von Anfang an. Ich dacht das wüßtest du. Guckst du hier:
Hat da etwa jemand nicht so genau gelesen?
Dort beschreibt Mike die Schwierigkeiten einen rsync-Server auf dem Mac zu erstellen (gab wohl Änderungen in MacOS) der auch nach Reboot automatisch rsync startet (genau der Anwendungfall, wie bei Tobias und nicht was VÖLLIG anderes wie du unter meinem Post kommentiert hast). Dieses Problem hat er erfolgreich gelöst indem der MacServer sich die zu sichernden Daten von der Synologie abholt (und somit zum Client wird). Aber keine Angst, sobald er seinen Job erledigt hat ist er wieder ein MacServer....

Lange rede....
Weia, lese dir mal Mikes todo durch, du verstehst das bestimmt besser als Tobias. Mit deinen Kenntnissen dürfte es ein leichtes sein, die Pfade an Tobias Bedürfnisse und OS Version anzupassen. Mike hat wirklich jeden Schritt erklärt und warum er das so gemacht hat (auch Launchcd und Launchctl)....und mit welchen Befehlen er die einzelnen Bestandteile überprüft hat.
Allerdings ist seine Lösung vor Big Sur entstanden. Es gilt halt nur die Funktionierende Lösung auf das neue OS zu übertragen und die Pfade der Synologie ab zu ändern. Oder......du Erarbeitest mit viel Zeit eine neue Funktionierende Lösung mit dem selben Ergebniss: Die zu sichernden Daten Befinden sich auf dem Mac Server....aber Hey, Hauptsache der Mac Server bleibt der Server, komme was wolle?

Tobias
Bin ein wenig entäuscht von dir. Du sagst du hättest alles gelesen? Dann lese es nochmal! Du hast alles Verstanden? Dann lese es erst recht nochmal.....weil wenn du alles gelesen hättest, wäre dir mindestens aufgefallen, dass der Witz mit dem Minecraftserver von Mike stammt!!! Ziemlich am Ende übrigends. Apropos "am Ende": Lese dir auch mal die Kommentare durch, da wird auf Tippfehler hingewiesen und es gibt Verbesserungsvorschläge.
Manchmal hilft es auch die komplette Seite durch einen Translator zB Google zu jagen um einen groben Überblick zu bekommen, was die Aufgabe der jeweiligen .plst .conf und Daemons ist.....wenn du den Code auch noch gleich mit übersetzen läßt, wird es sogar teilweise Lustig, bis auf die Tatsache, dass der logischerweise dann nicht mehr funktioniert. Also bleib am Ball und beiß dich da durch...mit ein wenig Hilfe wirds schon klappen.

PS: FunFakt, die komplette Lösung von Mike ist inkl. Kommentare nichtmal halb so lang wie dieser Thread hier jetzt schon ist.

greetz
„Objektiv ist relativ, subjektiv gesehen.“
0
iBert07.02.2105:57
Weia
Wenn ich Dich richtig verstanden habe, war Dein Ausgangspunkt doch, dass sich rsync genauso verhalten soll wie in dem von Dir bereits erfolgreich verwendeten Programm rsync server Basic Edition. Wir müssen also herausfinden, welche Argumente dieses Programm rsync übergibt und ob es das via Kommandozeile oder via rsyncd.conf tut.

Da liegt also der Hase im Peffer!, Ich befürchte das hast du wohl falsch verstanden und genau da liegt wohl euer Verständigungsproblem: rsync Server Basic Edition startet eben nicht selbstständig rsync nach einem Reboot und ist somit nicht erfolgreich.
Mike umgeht mit seiner pfiffigen Lösung dieses Problem und erklärt die beiden .plst und die .conf und launchcd etc.....glaube mir, wenn du das ToDo gelesen hast, schlägst du dir vor die Stirn und wirst Tobias bestimmt ein wenig anranzen....lol....aber da haste ja auch manchmal Spass dran nicht böse gemeint....Duckundweg
„Objektiv ist relativ, subjektiv gesehen.“
0
Weia
Weia07.02.2108:26
iBert
Weia
Mal ein bischen nett hier....
Ich bin unnett?
Tobias hat sich nicht wahllos "irgendwelche" Codeschnipsel aus dem Netz zusammengesucht.
Laut seinen eigenen Worten hat er:
Tobias, Hervorhebung von mir
Ich habe Beispieldateien im Netz gefunden, die allerdings alle schon ein paar Jahre alt sind und sich auf ältere OS-Versionen beziehen (Beispiel: ).
iBert
Jede Zeile kommt von der (wie ich finde) sehr ausführlichen Anleitung vom Mike King, den Tobias auch in seinem Eröffnungsthread verlinkt hat.
Ich muss mir aber nicht in einem technischen Thread den Name jedes dubiosen Autoren merken. Den Link habe ich verfolgt und fand ihn für Tobias begrenzt hilfreich, da er vieles beinhaltet, was Tobias gar nicht braucht. Wer sich wie Du in der hiesigen Diskussion auf diesen Link bezieht, der kann das ja wohl explizit erwähnen, statt mit dem Namen Mike herumzujonglieren, der auch noch falsch ist – der gute heißt Mikel. Daher habe ich bei Deiner wiederholten Bezugnahme auf einen „Mike“ an „unseren“ MikeMuc gedacht und nur Bahnhof verstanden.
Und um diese Anleitung dreht sich der gesamte Thread von Anfang an.
Nein, das tut er nicht. Er dreht sich erklärtermaßen darum, die Funktionalität von rsync server Basic Edition ohne diese GUI zu duplizieren, damit sie nach einem Reboot automatisch wieder zur Verfügung steht:
Tobias, Hervorhebung von mir
Auf dem mac OS Server habe ich rsync mit einem Tool rsync server Basic Edition (kostenfrei) gestartet. Dadurch funktioniert Hyper Backup. Ich würde allerdings gerne ohne dieses Tool auskommen und eine entsprechende plist-datei in /LaunchDamon legen, um das Ganze bootsicher einzurichten.
Das Vorgehen, von etwas aus zu starten, was bereits funktioniert, und es nur um die noch fehlende Funktionalität zu erweitern, ist genau der richtige Ansatz, um weiterzukommen. Die verlinkte Anleitung sollte dabei erklärtermaßen nur als ein Beispiel dafür dienen, wie es weitergehen könnte:
Tobias, Hervorhebung von mir
Ich habe Beispieldateien im Netz gefunden, die allerdings alle schon ein paar Jahre alt sind und sich auf ältere OS-Versionen beziehen (Beispiel: ).
iBert
Hat da etwa jemand nicht so genau gelesen?
Yep. Und dieser jemand bist Du.
Dort beschreibt Mike die Schwierigkeiten einen rsync-Server auf dem Mac zu erstellen (gab wohl Änderungen in MacOS)
Von Schwierigkeiten lese ich da nichts. Das ist das 0815-Vorgehen, seit es Mac OS X gibt.
der auch nach Reboot automatisch rsync startet (genau der Anwendungfall, wie bei Tobias und nicht was VÖLLIG anderes wie du unter meinem Post kommentiert hast).
Das bezog sich darauf, dass Mikel auch noch mit Logdateien, Passwörtern, Tagesmotto etc. herumhantiert, was Tobias alles nicht braucht. Der Knackpunkt ist die rsyncd.conf, die für Tobias nicht passt.
Dieses Problem hat er erfolgreich gelöst indem der MacServer sich die zu sichernden Daten von der Synologie abholt (und somit zum Client wird). Aber keine Angst, sobald er seinen Job erledigt hat ist er wieder ein MacServer....
Also ich habe in dem verlinkten Artikel nichts dergleichen gelesen. Mir scheint, Du verstehst auch nicht, was in dieser ach so tollen Anleitung steht …
Weia, lese dir mal Mikes todo durch, du verstehst das bestimmt besser als Tobias. Mit deinen Kenntnissen dürfte es ein leichtes sein, die Pfade an Tobias Bedürfnisse und OS Version anzupassen.
Die Pfade sind nicht das Problem und die macOS-Version spielt hier überhaupt keine Rolle. Das Problem sind die Parameter für rsync, da gibt es sehr viele mögliche Einstellungen. Klar könnte ich das hier rausfieseln, wenn ich Hyper Backup hätte (mit dem rsync harmonieren muss). Habe ich aber nicht. Und Schritt für Schritt via Forum voranzuschreiten dauert mit Tobias’ Vorkenntnissen ewig. Da ist es mit Sicherheit die beste Lösung, wenn es gelingt, die Konfiguration von rsync server Basic Edition zu duplizieren, von der wir schon wissen, dass sie funktioniert.
Mike hat wirklich jeden Schritt erklärt und warum er das so gemacht hat (auch Launchcd und Launchctl)
Das war nicht mein Eindruck.
PS: FunFakt, die komplette Lösung von Mike ist inkl. Kommentare nichtmal halb so lang wie dieser Thread hier jetzt schon ist.
Was nicht zuletzt an Deiner späten Intervention liegt.
iBert
Weia
Wenn ich Dich richtig verstanden habe, war Dein Ausgangspunkt doch, dass sich rsync genauso verhalten soll wie in dem von Dir bereits erfolgreich verwendeten Programm rsync server Basic Edition. Wir müssen also herausfinden, welche Argumente dieses Programm rsync übergibt und ob es das via Kommandozeile oder via rsyncd.conf tut.
Da liegt also der Hase im Peffer!, Ich befürchte das hast du wohl falsch verstanden und genau da liegt wohl euer Verständigungsproblem: rsync Server Basic Edition startet eben nicht selbstständig rsync nach einem Reboot und ist somit nicht erfolgreich.
Herrje, ja, das ist doch völlig klar, dass es um den automatischen Start nach einem Reboot geht. Die rsync server Basic Edition ist erfolgreich, wenn sie läuft, in dem Sinne, dass die Kommunikation mit Hyper Backup funktioniert. Aber sie läuft nicht automatisch nach einem Reboot, und das – und nur das – soll hier ergänzt werden. Nochmal Tobias zitiert:
Tobias, Hervorhebung von mir
Auf dem mac OS Server habe ich rsync mit einem Tool rsync server Basic Edition (kostenfrei) gestartet. Dadurch funktioniert Hyper Backup. Ich würde allerdings gerne ohne dieses Tool auskommen und eine entsprechende plist-datei in /LaunchDamon legen, um das Ganze bootsicher einzurichten.
„“I don’t care” is such an easy lie. (The Warning, “Satisfied”)“
+1
Weia
Weia07.02.2108:46
Ich sehe gerade zu meiner Überraschung, dass rsync server Basic Edition zwar laut App Store 8€ kostet, man sich die App auf der Website des Autors aber frei runterladen kann.

Tobias, könntest Du mir bitte Screenshots aller Einstellungen zukommen lassen, die Du in rsync server Basic Edition eingetragen hast (via PM, falls aufgrund Privatsphäre geboten, Passwort kannst Du ggf. auslassen)? Dann kann ich Dir rausfieseln, mit welchen Argumenten rsync hier gestartet wird. Da kann aber u.U. einige Zeit dauern, ich weiß nicht, ob ich heute noch dazu komme.
„“I don’t care” is such an easy lie. (The Warning, “Satisfied”)“
+1
Tobias07.02.2109:03
Hallo Weia,

vielen Dank für Deine Grundsatzerklärung, die selbst ich verstehe. Großartig! Ich hab mir das Manual durchgelesen, allerdings stoße ich da an meine Grenzen bzw. ich merke, dass ich deutlich tiefer einsteigen müsste, um Grundlagen zu kapieren. Hätte ich im Vorfeld geahnt, dass so Komplex wird, hätte ich das Fass nicht aufgemacht. Das hab ich unterschätzt. Für einen tieferen Einstieg fehlt mir aktuell einfach die Zeit. Meine Befürchtung ist auch, dass -- sollte ich das je zum Laufen bringen -- ich vielleicht ein, zwei Jahre kein einziges Mal das Terminal öffnen muss, weils ja (hoffentlich) läuft. Gäbe es dann Reparaturbedarf, müsste ich vermutlich wieder bei Null anfangen.

Jetzt wollte ich eigentlich das Thema begraben und Du fragst mich nach Screenshots. Das ist ein sehr nettes Angebot, dass ich gerne annehme. Die Screenshots liefere ich im Laufe des Tages.

Tobias
0
Tobias07.02.2112:43
Hallo iBert,

sorry, ich wollte Dich nicht enttäuschen. Ich hab aber im gesamten Thread deutlich gemacht, dass ich davon keine Ahnung habe. Ich habe reichlich gelesen, auch die besagte Anleitung. Auch mehrfach. Wenn ich das verstehen würde, würde ich hier nicht so dämlich fragen. Dann bekomme ich unterschiedliche Hinweise, über die ich sehr dankbar bin, weil ich es sehr schätze, dass ihr euch alle so lange mit meinem Problem und meiner Blödheit beschäftigt.

Tobias
+1
iBert07.02.2114:20
Weia
Finde es echt unfair, wie du meine Texte in kleinste Fetzen zerlegst und aus dem Kontext reißt, nur damit deine Gegenargumente halbwegs passen. Schwamm drüber...

Thema verschiedene Lösungsansätze:
Du möchtest eben unbedingt rsync server Basic Edition als Basis nehmen und den fehlenden Autostart nach einem Reboot fixen. Warum schafft das denn der Entwickler nicht? Ist schließlich ein kapitaler Bug wenn man das auf einem Server jedesmal händisch starten muss.

Mein Lösungsansatz ist eben genau anders herum. Ich würde die funktionierende Lösung von Mikel King nehmen (oder sollte ich MikeMuc sagen? Bahnhof?) und diese an mein System Anpassen. Diesen Lösungsweg hat er übrigens eingeschlagen damit es Bootsicher ist.

Ansonsten geben meine obigen Ausführungen ziemlich genau die Vorgehensweiseund Probleme von Mikels Code wieder. Das du dem Widersprichst zeigt mir nur, dass du nicht eine Sekunde versucht hast Mikes Lösung nachzuvollziehen. Beispiel gefällig?

iBert:
der auch nach Reboot automatisch rsync startet (genau der Anwendungfall, wie bei Tobias und nicht was VÖLLIG anderes wie du unter meinem Post kommentiert hast).
Weia:
Das bezog sich darauf, dass Mikel auch noch mit Logdateien, Passwörtern, Tagesmotto etc. herumhantiert, was Tobias alles nicht braucht. Der Knackpunkt ist die rsyncd.conf, die für Tobias nicht passt.

Dein vermeintliche Knackpunkt sieht folgendermaßen aus:

motd=/usr/local/etc/rsyncd/rsyncd.motd
uid = nobody
gid = nobody
use chroot = no
max connections = 4
syslog facility = local5

[mk]
path = /Volumes/Data/home/Tobiasl/Synologyoder wie auch immer sein Pad lautet
comment = Tobias Repository
uid = www
gid = www
list = yes
read only = no
auth users = Tobias
secrets file = /usr/local/etc/rsyncd/Tobias.secrets

Und die Passwörter, die Tobias ja nicht braucht, finden sich (Wunder) in der .secret Datei wieder. Paßwörter braucht man immer um in einem Netzwerk zugriff auf was auch immer zu bekommen. Das weißt du natürlich, hindert dich aber nicht daran mir contra zu geben.
Die angelegte .secrets sähe in etwa so aus:

rsync Quellpfad/Synologie Tobias@Macserver.com:Zielpfad/MacServer (.secrets-Datei braucht root mit 600 Berechtigung)
Password: xxxxxxxx

Zumindest so ähnlich, bin mir bei dem Format des Password unsicher.
So ich bin jetzt raus und wünsche Euch wirklich viel Erfolg bei eurer Variante. Deine Hilfsbereitschaft ist wirklich Vorbildlich. Deine Art zu Argumentieren allerdings nicht.

Hier nochmal ein paar Ausschnitte aus dem Orginalthread, die aber jlaut dir gar nicht drin stehen:
-Unfortunately, to use the built in rsync protocol you need to set up an rsync server, which on a Mac can be quite tricky.
-You should also note that although I could have used the default 2.6.9 version of rsync.
-Just keep the basics in mind; If you run rsync on your side of the connection to call rsyncd on the other end. This means that you are the client and the destination is the server.

Tschüss

Tobias, kein Problem....denn einen Tod müssen wir alle sterben. Viel Erfolg euch beiden.
„Objektiv ist relativ, subjektiv gesehen.“
0
Weia
Weia08.02.2101:51
So, ich konnte mir nun ansehen, was die rsync server Basic Edition macht.

Zunächst mal: Die plist für den Launch Daemon müsstest Du so lassen können, wie sie jetzt laut Forum ist; die dort eingetragenen Pfade für rsync und rsyncd.conf müssen von Dir dann natürlich auch verwendet werden.

Dass ich auch rsyncd.conf aufliste, zeigt Dir schon, dass in der Tat auch die rsync server Basic Edition mit dieser Datei arbeitet, um rsync im Daemon-Modus zu konfigurieren.

Ich habe nun exakt die Datei in der Form, wie sie die rsync server Basic Edition verwendet, genommen und nur die Pfade in die in Unix üblichen geändert, damit es zu keinem Kuddelmuddel zwischen der rsync server Basic Edition und Deiner Unix-Installation kommt. (Die rsync server Basic Edition verwendet macOS-spezifische Pfade im Nutzerordner in Library/Application Support/Bonhard Computing/).

Die Ordner für diese Pfade (/usr/local/etc/rsyncd/ für die Konfigurationsdateien und /var/log/rsyncd/ für die Logdateien) musst Du zuvor anlegen, falls sie noch nicht existieren. Das geht nicht im Finder, sondern nur im Terminal, da sonst die Zugriffsrechte nicht stimmen! Im Terminal:
sudo mkdir -p /usr/local/etc/rsyncd/
sudo mkdir -p /var/log/rsyncd/
(Von einem macOS-Nutzerkonto mit Admin-Rechten aus; mit Admin-Passwort bestätigen.)

/usr/local/etc/rsyncd/rsyncd.conf sieht dann so aus (GROSS geschriebene Variablen müssen natürlich durch die tatsächlichen Werte ersetzt werden):
log file = /var/log/rsyncd/rsyncd.log
use chroot = no
reverse lookup = False

[SYNC-ORDNER]
path = /PFAD/ZU/SYNC-ORDNER
comment = /PFAD/ZU/SYNC-ORDNER
log file = /var/log/rsyncd/rsyncd-SYNC-ORDNER.log
transfer logging = true
read only = false
auth users = NUTZERNAME
secrets file = /usr/local/etc/rsyncd/rsyncd.secrets

Da Du ein Passwort spezifiziert hattest, muss auch das noch in einer eigenen Datei, /usr/local/etc/rsyncd/rsyncd.secrets, angegeben werden:
NUTZERNAME:PASSWORT
Wichtig: damit rsync sie akzeptiert, muss diese Datei dem root-Nutzer gehören und darf auch nur für ihn lesbar sein! Im Terminal:
sudo chown root:wheel /usr/local/etc/rsyncd/rsyncd.secrets
sudo chmod 600 /usr/local/etc/rsyncd/rsyncd.secrets
(Von einem macOS-Nutzerkonto mit Admin-Rechten aus; mit Admin-Passwort bestätigen.)

Damit hast Du exakt die Konfiguration der rsync server Basic Edition geklont und es sollte daher eigentlich alles auf Anhieb funktionieren. Aber wie das in der IT immer so ist … Ich hoffe, ich habe nichts übersehen.

(Vergiss den Tipp mit der Aktivitätsanzeige, der war Blödsinn. rsync wird von launchd wirklich nur gestartet, wenn das Programm gebraucht wird, also während tatsächlich Dateien kopiert werden.)

Viel Erfolg!
„“I don’t care” is such an easy lie. (The Warning, “Satisfied”)“
+2
Weia
Weia08.02.2103:15
So, das Beste zuerst : Nachdem ich sie nun schonmal runtergeladen hatte, habe ich noch ein wenig mit der rsync server Basic Edition herumgespielt, hauptsächlich eigentlich, um herauszufinden, ob es da irgendwo einen Kaufen-Button gibt (gibt es nicht) oder wieso sonst man sich das Programm kostenlos und voll funktionsfähig von der (im Mac App Store verlinkten!) Website des Autors laden kann, es im Mac App Store aber 8€ kostet.

rsync server Basic Edition ist leider nicht in Cocoa geschrieben, sondern mit dem grässlichen Qt-Kompatibilitäts-Framework realisiert, das fürchterlich buggy ist und u.a. endlos lange Zeit zum Starten braucht, wenn man viele Fonts auf seinem Mac installiert hat. Und ich habe 6500 installiert …

Deshalb braucht rsync server Basic Edition bei mir 5 Minuten zum Starten und wäre schon allein deshalb für mich nur schwer benutzbar. Falls es aber für jemand anderen (mit weniger Fonts ) benutzbar wäre, so verhält es sich so, dass die App rsync immer sofort startet, wenn sie selbst gestartet wird. Mit anderen Worten: Fügt man rsync server Basic Edition in den Systemeinstellungen in Benutzer & Gruppen zu den Anmeldeobjekten hinzu, so hat man ein rsync, das automatisch startet. Tobias, sag bloß, das hast Du nie probiert?

Der Fairness halber sollte ich sagen, dass diese Lösung gegenüber der „richtigen“ Unix-Lösung aus meinem vorangegangenen Beitrag zwei Nachteile hat:
  • Da rsync in rsync server Basic Edition nicht als root läuft, kann es Eigentümer und Zugriffsrechte auf den kopierten Dateien nicht korrekt setzen.
  • Es reicht für den Start von rsync nicht, dass der Mac läuft; der Nutzer, zu dessen Anmeldeobjekten rsync server Basic Edition gehört, muss auch angemeldet sein. Je nach Mac-Nutzung wird das bei manchen mehr oder weniger dasselbe sein, bei anderen aber nicht.
Dennoch ist das natürlich für Unix-Laien zumindest eine 90%ige GUI-Lösung für das Problem.


Und nun noch:
iBert
Weia
Finde es echt unfair, wie du meine Texte in kleinste Fetzen zerlegst und aus dem Kontext reißt, nur damit deine Gegenargumente halbwegs passen.
Behaupte keine falschen Dinge, dann muss ich Dir auch nicht aufdröseln, dass dem nicht so war.
Du möchtest eben unbedingt rsync server Basic Edition als Basis nehmen und den fehlenden Autostart nach einem Reboot fixen. Warum schafft das denn der Entwickler nicht?
Falls er das nicht schaffen sollte, musst Du ihn diesbezüglich befragen.

Aber wer sagt Dir, dass er das nicht schafft? Vielleicht will er das nicht? Vielleicht findet er das nicht wichtig oder vielleicht will er das nicht, weil Programme, die in /Library/LaunchDaemons/ etwas hinzufügen, nicht im Mac App Store vertrieben werden dürfen?
Ist schließlich ein kapitaler Bug wenn man das auf einem Server jedesmal händisch starten muss.
Das ist kein Bug, sondern ein fehlendes Feature. Du findest das wichtig, andere vielleicht nicht. Und Apple verbietet es für den Mac App Store. Jedenfalls suggeriert die Beschreibung der App nirgendwo, dass sie das könnte.
Paßwörter braucht man immer um in einem Netzwerk zugriff auf was auch immer zu bekommen. Das weißt du natürlich, hindert dich aber nicht daran mir contra zu geben.
Nein, das „weiß“ ich nicht, denn das ist schlicht falsch. Passwörter braucht man nur dann, wenn man einen Serverdienst so konfigurieren will, dass er welche einfordert. Davon war bei Tobias bislang nie die Rede. Privat hat er mir aber jetzt mitgeteilt, dass er in der Tat einen Passwortschutz aktiviert hatte.
Deine Hilfsbereitschaft ist wirklich Vorbildlich. Deine Art zu Argumentieren allerdings nicht.
Ja, ich weiß, präzise Argumentation ist nicht jedermanns Sache.
„“I don’t care” is such an easy lie. (The Warning, “Satisfied”)“
+1
Tobias08.02.2108:57
Hallo Weia,

zwischen Tür und Angel will ich Dir kurz Rückmeldung zu folgendem Punkt geben:
Fügt man rsync server Basic Edition in den Systemeinstellungen in Benutzer & Gruppen zu den Anmeldeobjekten hinzu, so hat man ein rsync, das automatisch startet. Tobias, sag bloß, das hast Du nie probiert?

Natürlich hatte ich das probiert, hat hier aber nicht funktioniert. Deshalb war ich davon ausgegangen, dass rsync server Basic Edition das nicht kann.

Alles Weitere später, wenn ich Deine Bauanleitung umgesetzt habe.

Danke!
Tobias
+1
Weia
Weia08.02.2113:00
Tobias
zwischen Tür und Angel will ich Dir kurz Rückmeldung zu folgendem Punkt geben:
Fügt man rsync server Basic Edition in den Systemeinstellungen in Benutzer & Gruppen zu den Anmeldeobjekten hinzu, so hat man ein rsync, das automatisch startet. Tobias, sag bloß, das hast Du nie probiert?
Natürlich hatte ich das probiert, hat hier aber nicht funktioniert.
Aha, interessant.

Ich habe das nicht wirklich ausprobiert, ich habe nur ausprobiert, dass die rsync server Basic Edition dann automatisch rsync startet, wenn ich sie manuell (mit Doppelklick im Finder) starte, und bin dann davon ausgegangen, dass genau dasselbe passieren würde, wenn sie automatisch beim Anmelden vom System gestartet wird.

Das war dann offenbar ein Fehlschluss; offenbar verhindert irgendetwas beim Autostart von rsync server Basic Edition den Autostart von rsync (auch wenn ich nicht ganz verstehe, was bzw. warum). Sorry für die Verwirrung.
„“I don’t care” is such an easy lie. (The Warning, “Satisfied”)“
+1
Wellenbrett08.02.2113:39
@ Weia: ich bewundere mal wieder Deine Geduld
+3
Tobias08.02.2114:01
Ich auch!
+2
Weia
Weia08.02.2122:54
Weia
Damit hast Du exakt die Konfiguration der rsync server Basic Edition geklont und es sollte daher eigentlich alles auf Anhieb funktionieren. Aber wie das in der IT immer so ist … Ich hoffe, ich habe nichts übersehen.
Und natürlich® habe ich was übersehen. 🙄

Plist-Dateien in /Library/LaunchDaemons/ werden von dem Launch-Daemon-System in macOS nur berücksichtigt, wenn der Eigentümer root ist. Wenn man die Plist woanders erstellt und dann nach /Library/LaunchDaemons/ kopiert oder verschiebt, ist das in aller Regel natürlich nicht so, und dann wird sie nicht berücksichtigt. Das stellte sich als eine letzte Hürde bei Tobias heraus (jetzt geht bei ihm alles).

Was also in der obigen Anleitung fehlt, ist der folgende Befehl:
Im Terminal:
sudo chown root:wheel /Library/LaunchDaemons/org.samba.rsync.plist
(Von einem macOS-Nutzerkonto mit Admin-Rechten aus; mit Admin-Passwort bestätigen.)

Dies zur Ergänzung.
„“I don’t care” is such an easy lie. (The Warning, “Satisfied”)“
+4
Tobias08.02.2123:12
Weia hat ja schon berichtet, dass jetzt alles funktioniert! Vielen Dank an alle, die Impulse geliefert und mitgedacht haben. Großes Dankeschön natürlich an Kommissar Weia, der abseits des Threads den Fall gelöst hat.

Danke!
Tobias
+2

Kommentieren

Diese Diskussion ist bereits mehr als 3 Monate alt und kann daher nicht mehr kommentiert werden.