SVN Update über SSH mithilfe eines Scripts mit Debian

Z

zZonk

Jungspund
Hallo,
ich habe auf meinem Rechner (Debian) folgendes Script geschrieben und mit chmod 755 ausführbar gemacht.


Code:
#!/bin/sh
cd /root/svnordner/
/usr/bin/svn update

Es wird über cron wie folgt aufgerufen.

1-59 * * * * root /root/updateScript.sh > $HOME/tempfile.txt 2>&1
(1-59 für Testzwecke)

Die Passwort-Authentifizierung läuft über SSH (genauer den ssh-agent)

Führe ich das Script jetzt über die Konsole aus funktioniert alles wie gewollt.
Jetzt aber zum eigentlichen Problem, führe ich das Script über cron aus wird das Update einfach nicht ausgeführt und im tempfile taucht folgendes auf "Permission denied, please try again" (jeweils 3 mal).

Ich hoffe mir kann jemand bei diesem Problem helfen.

Gruß
 
1-59 * * * * root /root/updateScript.sh > $HOME/tempfile.txt 2>&1

Wenn ich das richtig interpertieren - dein updateScript liegt beim root? Du führst den cronjob aber als normaler user aus?

Umgebungsvriablen gesetzt?
 
Ich führe es als root aus (aufgrund anderer Aufgaben).
 
Unter welchem user läuft der cronjob? Auch als root?

Was passiert, wenn du das ganze in den cronjob packst?

Code:
1-59 * * * * cd /root/svnordner/; /usr/bin/svn update > $HOME/tempfile.txt 2>&1
 
Da hatten wir beide wohl zeitgleich die selbe Idee ... leider taucht die selbe Meldung auf "Permission denied, please try again" (jeweils auch 3 mal in der tempfile.txt).

Gruß
 
Du startest dem cron als root - kannst du denn als root ein svn update in der sh ausführen? oder nur in der Bash?

also:
login als root
Code:
sh
cd /root/svnverzeichnis
svn update
 
Jap geht (ich vermute den Fehler ja wie gesagt im ssh-agent oder der ssh-Verbindung)
 
Jap geht (ich vermute den Fehler ja wie gesagt im ssh-agent oder der ssh-Verbindung)
Hast du schon mal versucht, deine ssh-Vebindung zu loggen? Verbindung mittels keyfile? Wenn ja, hat root leserechte auf das key-File? Das ganze naturlich über cron gestartet ;)

ssh -v -i keyfile deinuser@deinserver
 
Das Script funktioniert ja wenn ich es aus der "Kommandozeile" starte, somit sollte das ja funktionieren
 
Hast du das Env im corn richtig gestetzt? Alles nötige im PATH? usw.

Wenn ein skript normal funktioniert, muss es noch nicht über cron funktionieren ...
 
env=Environment

Tipp in einem Terminal mal env ein. Dann siehst du was es ist ;)
 
ok da steht ne menge Zeug, ^^ ich versteh nur nich was ich damit anfangen soll.

edit: wie ich gerade gelesen habe, hat cron keinen zugriff auf den ssh-agent.

Habe das Problem gelöst über private_keys ohne passphrase, dann funktioniert alles.
Danke für deine Hilfe xbeduine
 
Zuletzt bearbeitet:

Ähnliche Themen

Windows clients können nicht mehr auf lange laufendes System zugreifen

[HowTo] Debian Installation mit Installer über SSH

HLDS init script?

"net groupmap list" und "pdbedit" funktionieren nicht

Server-Monitoring mit RRDTool

Zurück
Oben