Shellscript: rsync mit ssh wird nicht ausgeführt

Diskutiere mit über: Shellscript: rsync mit ssh wird nicht ausgeführt im Mac OS X - Unix & Terminal Forum

  1. chrigu

    chrigu Thread Starter MacUser Mitglied

    Beiträge:
    155
    Zustimmungen:
    0
    Registriert seit:
    08.03.2004
    Folgendes Shellscript wird über einen Cronjob ausgeführt:
    Code:
    #!/bin/bash
    # Backup starten
    /bin/date >> /Users/chrigu/Desktop/test.txt;
    
    /usr/local/bin/rsync -aE -z /Users chrigu@wiseguy-christoph.local:/Volumes/backup_disk/mammut_users_sync > /Users/sync_protokoll;
    
    Die Datei test.txt wird auf dem Desktop erstellt, der rsync Befehl wird allerdings nicht ausgeführt, obwohl die gleiche Befehlszeile
    Code:
    /usr/local/bin/rsync -aE -z /Users chrigu@wiseguy-christoph.local:/Volumes/backup_disk/mammut_users_sync > /Users/sync_protokoll;
    in der Kommandozeile eingegeben, einwandfrei funktioniert. Die ssh Verbindung funktioniert also tadellos.

    Ich bin etwas ratlos, wenn ich übrigens im selben Shellscript auf eine ssh Verbindung verzichte und nur Lokal einen Verzeichnisabgleich mache also
    Code:
    #!/bin/bash
    # Backup starten
    /bin/date >> /Users/chrigu/Desktop/test.txt;
    
    /usr/local/bin/rsync -aE -z /Users/chrigu/Desktop/Quelle /Users/chrigu/Desktop/Ziel >| /Users/sync_protokoll;
    geht die Sache wiederum ohne Probleme.

    Wer hat da den Durchblick oder wie könnte man das Problem etwas einkreisen?
     
  2. chrigu

    chrigu Thread Starter MacUser Mitglied

    Beiträge:
    155
    Zustimmungen:
    0
    Registriert seit:
    08.03.2004
    Ich bin der Sache vielleicht etwas näher gekommen. Die ssh Schlüssel befinden sich im User-Verzeichnis /Users/chrigu/.ssh, der Cronjob wird allerdings von root ausgeführt womit ich vermute das root keinen passenden ssh Schlüssel findet.

    Nun natürlich meine Frage wohin ich die id_rsa Schlüssel Dateien kopiere, damit auch root diese verwenden kann?
     
  3. maceis

    maceis MacUser Mitglied

    Beiträge:
    16.645
    Zustimmungen:
    596
    Registriert seit:
    24.09.2003
    Warum sagst Du dem Cronjob nicht lieber, dass er als User chrigu laufen soll?
    Dafür ist die sechste Spalte (who) in /etc/crontab zuständig oder Du verwendest die User crontab.

    btw: wie kommst Du darauf, dass es an ssh liegt.
    Ich sehe nämlich gar nicht, dass Dein Kommando ssh überhaupt verwendet :D.
     
  4. catvarlog

    catvarlog MacUser Mitglied

    Beiträge:
    1.468
    Zustimmungen:
    1
    Registriert seit:
    30.01.2005
    um ssh nutzen zu können, musst du den entsprechenden befehl hinzufügen:
    Code:
    -e ssh
    
    richtig wäre es dann z.B. so:
    Code:
    /usr/local/bin/rsync -e ssh -aE -z /Users [email]chrigu@wiseguy-christoph.loca[/email]l:/Volumes/backup_disk/mammut_users_sync > /Users/sync_protokoll;
    
    aus der man-page von rsync:

    Code:
    -e, --rsh=COMMAND           specify the remote shell
    
     
  5. mys

    mys MacUser Mitglied

    Beiträge:
    422
    Zustimmungen:
    0
    Registriert seit:
    02.02.2004
    Wen ich mich nicht irre, ist das root Verzeichniss unter /var/root .
    Versuch mal da die SSH Keys hinzukopieren.
     
  6. catvarlog

    catvarlog MacUser Mitglied

    Beiträge:
    1.468
    Zustimmungen:
    1
    Registriert seit:
    30.01.2005
    nach:
    /private/var/root/.ssh
     
  7. maceis

    maceis MacUser Mitglied

    Beiträge:
    16.645
    Zustimmungen:
    596
    Registriert seit:
    24.09.2003
    Ich möchte noch einmal kurz darauf hinweisen, dass es Unfug ist, ein Kommando, mit dem das Benutzerverzeichnis von "chrigu" gesichert werden soll, ohne Not mit root Permissions laufen zu lassen.
     
  8. chrigu

    chrigu Thread Starter MacUser Mitglied

    Beiträge:
    155
    Zustimmungen:
    0
    Registriert seit:
    08.03.2004
    Schon mal vielen Dank für die vielen Inputs! werde das sogleich mal verarbeiten.

    Ich hatte gedacht ssh werde automatisch benutzt, wenn user@host:/… angegeben wird, weil ja mit den erstellten Schlüsseln die Passwortabfrage entfällt (sofern man kein Passwort definiert hat) oder funktioniert das auch ohne Schlüssel?

    @maceis
    ok, aus ideologischer Sicht wäre es besser rsync mit anderen permissions als root laufen zu lassen, welcher user hat den sonst noch volle Zugriffsberechtigung auf das Verzeichnis /Users/*
     
  9. maceis

    maceis MacUser Mitglied

    Beiträge:
    16.645
    Zustimmungen:
    596
    Registriert seit:
    24.09.2003
    Ich würde für jeden User einen Job erstellen, der unter dessen Namen läuft.
    Bei Dir ist es aber offensichtlich so, dass chrigu Zugriff auf die zu sichernden Daten hat.
    Ich bin mir auch gar nicht sicher, ob das Ganze bei Dir nicht ohnehin lokal läuft (chrigu@wiseguy-christoph.local :confused: ), dann ist ssh in jedem Fall überflüssig.
     
    Zuletzt bearbeitet: 02.04.2006
  10. Hilarious

    Hilarious MacUser Mitglied

    Beiträge:
    2.195
    Zustimmungen:
    5
    Registriert seit:
    25.11.2004
    Könnte hier nicht ein entsprechendes Gruppenrecht weiterhelfen statt gleich alles unter root laufen zu lassen? Ich sehe das ähnliche restriktiv wie maceis, allerdings must Du natürlich selbst entscheiden, wie Du die Sicherheitslage bewertest.
     
Die Seite wird geladen...
Ähnliche Themen - Shellscript rsync ssh Forum Datum
Suche shellscript schreiber Mac OS X - Unix & Terminal 15.06.2012
Shellscript. Neue Zeile am Anfang einer Log-Datei schreiben Mac OS X - Unix & Terminal 20.03.2012
Hotfolder shellscript Mac OS X - Unix & Terminal 01.11.2011
Shellscript beim Herunterfahren ausführen Mac OS X - Unix & Terminal 08.10.2008
ich will ein shellscript basteln.... Mac OS X - Unix & Terminal 01.10.2007

Diese Seite empfehlen

Benutzerdefinierte Suche