CorneliusHoffmann
Registriert
Thread Starter
- Dabei seit
- 11.01.2020
- Beiträge
- 3
- Reaktionspunkte
- 0
Servus zusammen,
ich hadere aktuell ein wenig mit meinem Wissen, denn ich habe schon einige Shell- wie Apple-Scripts geschrieben und nach ein wenig Analyse, wenn was nicht funktionierte, habe ich eigentlich immer den Fehler gefunden – in diesem Fall leider nicht.
Hier mal das Szenario – ich betreibe für mich einen Onlineserver, auf dem ist mein wiki (mediawiki) meine Mail/Adressen/Kalender-Lösung (Kerio) und eine ownCloud mit der ich unterwegs meine Daten auch mal abgreifen kann. Das alles läuft auf einem LinuxServer (aktuelles Ubuntu 18 LTS).
Für mich intern betreibe ich noch einen MacServer OS (10.10.5) der den DNS- und LDAP-Server im Netzwerk spielt. Ausserdem ist dieser der Sicherungsbuddy des Linuxservers. Bedeutet ich habe mir per ssh-keygen Schlüssel generiert welche es ermöglichen, dass die beiden Server miteinander sprechen können ohne ein Passwort zu benötigen. Das funktioniert auch, denn ich sichere verschiedene Inhalte der Linuxe und das tut alles auf Basis des Schlüssels. Der einzige unterschied der Schritte im Script ist, dass die anderen Inhalte kopiert werden (scp) anstatt der Daten, welche per "rsync" synchronisiert werden sollen.
Führe ich nun den Befehl als root-Benutzer direkt in Terminal aus funktioniert es, rsync rattert los, die Daten werden übertragen, alles gut – die Befehls-Syntax sollte deswegen also eigentlich stimmen. Das Script läuft vom root-crontab aus, ergo sollten die Rechte für die Ausführung also eigentlich auch stimmen, alle anderen Zeilen des Scripts werden ausgeführt. Ich habe gefühlt das halbe Netz durchsucht aber nichts passendes darauf gefunden vielleicht gibt es hier jemanden der meinem blonden Hirn auf die Sprünge helfen kann...
Ich denke an ein Debugging, jedoch manuell finde ich keinen Fehler und habe keine echte Idee wie ich das in ein Script so einbauen könnte dass er mir das in eine Logdatei wegschreibt um so zu sehen warum es im cron hakt.
Hier die Befehlszeile – ich habe Pfade und Schlüsselnamen mal verfremdet:
rsync -avuz --delete --progress --stats -e 'ssh -i '/private/var/root/.ssh/schluessel‘‘ root@192.168.77.55:/Pfad/zur/Quelle /Pfad/zum/Ziel/
Ach ja noch vergessen die Rechte des Datenverzeichnisses stehen natürlich auf www-data für den Eigentümer und die Gruppe, die darf root aber anfassen und tut es auch, denn das Seitenverzeichnis /var/www/ hat die selben Rechte, wird genauso angesprochen (allerdings per scp) und wird so auch abgegriffen und ohne Fehler übertragen.
Danke schon mal vorab für Eure Zeit mit der Hoffnung auf den zündenden Hinweis.
Viele Grüße
Cormelius Hoffmann
ich hadere aktuell ein wenig mit meinem Wissen, denn ich habe schon einige Shell- wie Apple-Scripts geschrieben und nach ein wenig Analyse, wenn was nicht funktionierte, habe ich eigentlich immer den Fehler gefunden – in diesem Fall leider nicht.
Hier mal das Szenario – ich betreibe für mich einen Onlineserver, auf dem ist mein wiki (mediawiki) meine Mail/Adressen/Kalender-Lösung (Kerio) und eine ownCloud mit der ich unterwegs meine Daten auch mal abgreifen kann. Das alles läuft auf einem LinuxServer (aktuelles Ubuntu 18 LTS).
Für mich intern betreibe ich noch einen MacServer OS (10.10.5) der den DNS- und LDAP-Server im Netzwerk spielt. Ausserdem ist dieser der Sicherungsbuddy des Linuxservers. Bedeutet ich habe mir per ssh-keygen Schlüssel generiert welche es ermöglichen, dass die beiden Server miteinander sprechen können ohne ein Passwort zu benötigen. Das funktioniert auch, denn ich sichere verschiedene Inhalte der Linuxe und das tut alles auf Basis des Schlüssels. Der einzige unterschied der Schritte im Script ist, dass die anderen Inhalte kopiert werden (scp) anstatt der Daten, welche per "rsync" synchronisiert werden sollen.
Führe ich nun den Befehl als root-Benutzer direkt in Terminal aus funktioniert es, rsync rattert los, die Daten werden übertragen, alles gut – die Befehls-Syntax sollte deswegen also eigentlich stimmen. Das Script läuft vom root-crontab aus, ergo sollten die Rechte für die Ausführung also eigentlich auch stimmen, alle anderen Zeilen des Scripts werden ausgeführt. Ich habe gefühlt das halbe Netz durchsucht aber nichts passendes darauf gefunden vielleicht gibt es hier jemanden der meinem blonden Hirn auf die Sprünge helfen kann...
Ich denke an ein Debugging, jedoch manuell finde ich keinen Fehler und habe keine echte Idee wie ich das in ein Script so einbauen könnte dass er mir das in eine Logdatei wegschreibt um so zu sehen warum es im cron hakt.
Hier die Befehlszeile – ich habe Pfade und Schlüsselnamen mal verfremdet:
rsync -avuz --delete --progress --stats -e 'ssh -i '/private/var/root/.ssh/schluessel‘‘ root@192.168.77.55:/Pfad/zur/Quelle /Pfad/zum/Ziel/
Ach ja noch vergessen die Rechte des Datenverzeichnisses stehen natürlich auf www-data für den Eigentümer und die Gruppe, die darf root aber anfassen und tut es auch, denn das Seitenverzeichnis /var/www/ hat die selben Rechte, wird genauso angesprochen (allerdings per scp) und wird so auch abgegriffen und ohne Fehler übertragen.
Danke schon mal vorab für Eure Zeit mit der Hoffnung auf den zündenden Hinweis.
Viele Grüße
Cormelius Hoffmann