
Ich habe ein Skript, das ein Protokoll generiert, und am Ende des Skripts verschiebe ich das Protokoll auf einen Windows-Server. Die Verbindung zwischen den beiden Servern ist in Ordnung. Wenn ich versuche, die Dateien manuell zu senden, funktioniert es gut.
Skript und Protokolle befinden sich an zwei verschiedenen Orten. Mein Skript sieht wie folgt aus:
LOGFILE=/home/logs/monitor_sync_FM2.log
HOST='xxx.xxx.xxx.xxx'
USER='FTPUser'
PASSWD='Password'
ftp -n $HOST << EOF
user $USER $PASSWD
binary
prompt
mput $LOGFILE
quit
EOF
exit 0
aber wenn ich das Skript ausführe, erhalte ich den Fehler:
Filename invalid
Kann mir bitte jemand sagen, ob in meinem Skript etwas fehlt? Danke
Antwort1
Sie versuchen, die Datei in den Pfad /home/logs/monitor_sync_FM2.log
auf dem Remote-Server (also Windows) zu schreiben. 550 Ungültiger Dateiname bedeutet, dass die Datei /home/logs
auf dem Remote-Server nicht vorhanden ist. Sie möchten Folgendes tun:
LOGFILE=monitor_sync_FM2.log
HOST='xxx.xxx.xxx.xxx'
USER='FTPUser'
PASSWD='Password'
cd /home/logs/
ftp -n $HOST << EOF
user $USER $PASSWD
binary
prompt
mput $LOGFILE
quit
EOF
exit 0