Shell-Fehler

G.P.

Legendäres Mitglied
Ich rufe auf einen Server eine Shell Datei auf, welche sich zu einen Windows Server verbindet und eine Datei auf diesen lädt.

Dafür wird folgender Code verwendet

CODE smbclient -Aauth -c "lcd $HOME/test/; cd /unterordner; put datei.txt datei_neu.txt" '//server/'


Das Porblem was ich jetzt habe. Sobald ich die Shell Datei manuell ausführe, klappt alles wunderbar. Wenn ich aber die Shell Datei per Cronjob starte, wird die Datei nicht kopiert.

Weiss jemand woran das liegen kann?

(System: Debian)
 
Hallo

Einpaar Lösungsansätze:
- Pfade prüfen, ob sie korrekt sind - benutze am Besten nur absolute Pfade!
- Prüfe, ob Cronjob ausreichend Rechte hat, Dateien zu schreiben
- Wie lautet die Fehlermeldung? Schaue in den Fehlerprotokollen nach...


Gruss
Lenny
 
Danke für die Hinweise.

Ich habe es noch einmal überprüft.
Alle Pfade sind absolut angegeben.
Mit 2>>log.txt fange ich die Fehlermeldungen ab, aber eine Fehlermeldung wird nicht ausgegeben ;(

Wie kann ich überprüfen ob der Cronjob rechte zum Schreiben hat?
Der für smbclient verwendte User hat die rechte. Auch werden im selben Skript vorher Files lokal und per scp verschoben und erstellen, was alles klappt.

 
QUOTE (G.P. @ Fr 28.11.2008, 11:19) Der für smbclient verwendte User hat die rechte. Auch werden im selben Skript vorher Files lokal und per scp verschoben und erstellen, was alles klappt.

Ok, dann sollte es auch nicht an den Rechten liegen. Poste mal den Inhalt der Shell-Datei und die Befehle, wie du die Shell-Datei per Cronjob aufrufst.

Gruss
Lenny
 
das testskript zur fehlerfindung besteht nur aus 2 zeilen.

cd /Skriptpfad/
smbclient -Aauth -c "lcd $HOME/test/; cd /unterordner; put datei.txt datei_neu.txt" '//server/'

Der Cron aufruf erfolgt ganz normal mit
sh /Skritpfad/test.sh

Mir ist es wirklich rätselhaft, warum das ganze manuell geht und mit Cron nicht ;(
 
Zurück
Oben