LFTP-Sitzung beenden - Cron-Job wird nicht ausgeführt

530
Piranha

Ich muss eine Datei per FTP von unserem Server auf einen Remote-Server verschieben und diese alle 30 Minuten mit einem Cron-Job ausführen lassen.

Das Shell-Skript, das ich habe, lautet:


#!/bin/sh # @description: Transfer inventory update file to BOL.com # # FTP LOGIN HOST='ftps.bol.com' USER='USR' PASSWORD='PASS'  # REMOTE DIRECTORY REMOTE_DIR='/remote_dir'  #LOCAL DIRECTORY LOCAL_DIR='local/dir'  # RUNTIME! echo echo "Starting upload of file to $HOST" date  lftp -u "$USER","$PASSWORD" $HOST <<EOF set ftp:ssl-allow true # set ftp:ssl-protect-data true set ssl:verify-certificate no # transferring now... put -O $REMOTE_DIR $LOCAL_DIR/1064072.csv; quit EOF echo echo "Transfer finished" date 

Das Skript läuft gut über ssh, aber es wartet 10 Minuten, bevor ich die Eingabeaufforderung sehe. Wenn ich das so eingestellt habe, dass es über einen Cron läuft, läuft es nicht. Man sagt mir, dass der Prozess nicht beendet wird und der Cron dadurch hängen bleibt.

Wie kann ich mit diesem FTP-Befehl die Verbindung herstellen und schließen?

0
Nicht sicher, was mit der Formatierung des Skripts passiert ist. Ich werde versuchen, es noch einmal zu kopieren: Piranha vor 5 Jahren 0
#! / bin / sh # @description: Bestandsaktualisierungsdatei nach BOL.com übertragen # # FTP LOGIN HOST = 'ftps.bol.com' USER = 'usr' PASSWORD = 'pass' # REMOTE DIRECTORY REMOTE_DIR = '/ inbound' #LOCAL VERZEICHNIS LOCAL_DIR = 'linnworks / BOL' # LAUFZEIT! echo echo "Hochladen der Datei auf $ HOST" Datum lftp -u "$ USER", "$ PASSWORD" $ HOST < Piranha vor 5 Jahren 0
yuk - sorry, nicht viel besser. Piranha vor 5 Jahren 0
Ihr LOCAL_DIR ist kein absoluter Pfad. Ipor Sircer vor 5 Jahren 0
Dieses Skript läuft kein Problem von ssh, also sind die Pfade ok, denke ich. Das Problem scheint zu sein, dass der FTP-Prozess aus irgendeinem Grund offen bleibt. Piranha vor 5 Jahren 0

0 Antworten auf die Frage